1. 程式人生 > >linux服務器中不支持soap及bcmul函數的結局方法

linux服務器中不支持soap及bcmul函數的結局方法

bcmath 環境 dha php red 負責 重新編譯 inux 喜歡

新的程序裏用了webserice接口,部到服務器,先是提示:bcmul() 函數不可用,網上搜索一番,得知這是php的高精度函數,需要在編譯php的時候加入此模塊,於是在編譯腳本裏增添 “–enable-bcmath” 後重新編譯、重啟apache然後此錯誤解決;

然後有遇到報錯“Class ‘SoapClient’ not found”,網上搜索有很多解決辦法,總結如下:

1.把php的擴展打開;

對於此我要說一下,很多人總喜歡以偏概全,因為windows服務器上的結局辦法就是把extension=php_soap.dll的擴展打開,但是這對linux壓根沒用,所以失敗;

2.擴展編譯extension = “soap.so”;

這個方法算是比較靠譜的,OCI8模塊大多也通過此方式安裝擴展,這裏要用到所謂的phpize,但是不知道是我人品問題還是怎麽搞的,這樣編譯的oci也不成功,編譯的soap也不成功

3.編譯腳本裏加入“–enable-soap”;

這是最後解決問題的辦法,與上面的高進度函數庫類似,重新編譯一下php就好了,問題解決。

總結:最近幾天在配一臺64位redhat AS 5.1服務器的環境,gd和oci這倆擴展都快煩死我了,網上的文章參照了一堆,但是發現個問題,就是網上很多文章都是抄襲,一種解決辦法找了好幾十個網站上都是一樣的,包括語句中的語病,很多技術人員這是對自己不負責任,如果你真的領悟了,自己寫一下就行了,不領悟就別摘抄,既丟人又讓搜索增加難度;

linux服務器中不支持soap及bcmul函數的結局方法