當前位置:首頁 » 編程語言 » php安裝bcmath

php安裝bcmath

發布時間: 2023-11-28 10:37:55

A. php實際開發怎麼處理錯誤

在php開發過程中,由於不知道向誰求助而心慌意亂地判斷以為自己不適合學php。其實錯誤在每個人學習過程中都會碰到的,千萬不要妄自菲薄。很多錯誤在報錯的代碼提示中已經告訴我們了,仔細看,不會就網路。現總結一些常見的php錯誤,以共享php新人。
Php常見錯誤提示
一、Fatal error: Call to undefined function……
函數不存在,可能的原因:
1、系統不存在這個函數且你也沒自定義
2、有人會問,我在別的機器上就不報錯。那是因為環境不同,這個函數在本機沒開,怎麼開?你網路函數名字,就能查到這個函數屬於哪個dll,去php.ini里開啟。
實例講解:PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解決辦法
在一台處理網路支付的伺服器遷移的時候,發現不能支付。
PHP環境:
PHP版本為5.3.3
系統為Red Hat 4.1.2-54
查看apache的錯誤日誌,發現是加密文件中一個函數bcmul()報錯:
復制代碼 代碼如下:PHP Fatal error: Call to undefined function bcmul() in /php_rsa.php on line xxx
解決辦法:
使用如下命令:
復制代碼 代碼如下:yum install php-bcmath
就安裝好了。
如果出現下面這種情況:
復制代碼 代碼如下:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.yun-idc.com
* extras: mirrors.yun-idc.com
* rpmforge: ftp.riken.jp
* updates: mirrors.yun-idc.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-bcmath.x86_64 0:5.1.6-40.el5_9 set to be updated
--> Processing Dependency: php-common = 5.1.6-40.el5_9 for package: php-bcmath
--> Running transaction check
---> Package php-common.x86_64 0:5.1.6-40.el5_9 set to be updated
--> Processing Conflict: php53-common conflicts php-common
--> Finished Dependency Resolution
php53-common-5.3.3-13.el5_9.1.x86_64 from installed has depsolving problems
--> php53-common conflicts with php-common
Error: php53-common conflicts with php-common
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
package-cleanup --pes
rpm -Va --nofiles --nodigest
就需要使用yum update 之後再yum install php53-bcmath就好了
順便了解了一下,bcmath這個函數是PHP數學擴展中的一個。可以使用 bcscale() 來設置全局默認的小數位數,具體用法如下:
復制代碼 代碼如下:string bcmul ( string $left_operand , string $right_operand [, int $scale ] )
例子:
<?php echo bcmul('1.34747474747', '35', 3); // 47.161 echo bcmul('2', '4'); // 8 ?>
此函數在php.ini中的選項:
復制代碼 代碼如下:
[bcmath]
; Number of decimal digits for all bcmath functions.
; http://www.php.net/manual/en/bc.configuration.php#ini.bcmath.scale
bcmath.scale = 0
二、syntax error, unexpected T_STRING, expecting……
嚴重語法錯誤,例如syntax error, unexpected T_STRING, expecting ',' or ';' in F:\phpnow\htdocs\index.php on line 4
後邊標著行號,自己去檢查那一行的標點就行
如果是 第三行 echo 1 後邊沒加;,報錯會報 on line 4 ,on line 4,就是第四行
實例講解:
其實,這是一個非常容易解決掉的問題。在我看來,似曾相識,呵呵,最近學JavaScript可是學會了使用var聲明變數。
其實,在PHP中根本不需要使用var聲明的,但是當一個變數作為一個類的成員變數的時候,使用var還是沒有問題的。
在外部使用var就報錯Parse error: syntax error, unexpected T_VAR in...,例如我的出錯信息:
Parse error: syntax error, unexpected T_VAR in D:\Apache2.2\htdocs\shirdrn\page\p2\pageUtil.inc on line 34
我在測試:在一個類的內部,使用一個自己定義的類對象作為這個類的成員時,出錯了。
Address類對應的address.inc代碼:
<?php class Address { var $road; function Address(){} function setRoad($road){ $this->road = $road; } } ?>
Person類及其測試代碼為person.php如下:
<?php require("address.inc"); class Person { var $name; var $address; function Person(){ } function display(){ echo "Name : ".$this->name."<BR>"; echo "Road : ".$this->address->road."<BR>"; } } var $p = new Person(); $p->address = new Address(); $p->address->setRoad("Chagnchun Road"); $p->name = "Shirdrn"; $p->display(); ?>
測試輸出現異常:
Parse error: syntax error, unexpected T_VAR in D:\Apache2.2\htdocs\shirdrn\page\p2\pageUtil.inc on line 34
就是因為在person.php代碼中使用var聲明變數,PHP中是不能這樣的,只要使用「$」符號起始就表示這個字元後面的是一個PHP變數。
呵呵:-)
其它網友的補充方法:
問題解決:syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or 前兩天開始自己php之旅,做一個很普通的網站,結果我們的php是5.0版本,伺服器是4.0版本,納悶死咯。 昨天忙了一天,今天早上一來,在一篇文章發現了,解決方法。Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' ,如果有「public」,就將「public」去掉。就不會出錯,如果「public」 是定義變數的話,將「public」 改為「var」。
三、Parse error: syntax error, unexpected T_VARIABLE in XXX.php on line XXX
這條語句是PHP常見的報錯,一般是在XXX行的上一行,或者是XXX行,缺少分號。或者在雙引號中使用雙引號,且沒有轉義等等。
解決方法:找到XXX.php的XXX行,按照上面的分析,找到自己的錯誤,改正即可。
貼士:作為編程人員,要做到代碼嚴謹,思維清晰,並且細心。人非聖賢孰能無過,但盡量避免這些因為粗心出現的錯誤,這樣才能成為合格的程序員。
四、Parse error: syntax error, unexpected 'X' in XXX.php on line XXX
這條語句依然是PHP常見的報錯,報錯原因是在XXX.php的XXX行,出現了PHP無法識別的字元。常常是因為function,if等需要『{'、『}'的地方沒有閉合,或者在編程的時候,不小心在『;'的後面誤打了幾個字元。
解決方法:找到XXX.php的XXX行,刪除多出的字元,添加缺少的字元即可。
五、syntax error, unexpected $end
邏輯忘了閉合 這個報錯還有個特徵,他會提示你最後一行代碼報錯,譬如你一共30行,他就告訴你 on line 30,這時候你別檢查第三十行,你要把30行挨個,檢查一遍,看看哪個標簽沒閉合。
一共3000行,他就告訴你 on line 3000,這時候你別檢查這3000行了,如果你程序排版很亂,在3000行里找哪個括弧是個很麻煩的事……我教你一招:ctrl+a ctrl+d alt+f4
好了,你現在可以重寫了。
另一種思路:
Parse error: syntax error, unexpected $end in script.php on line xx
調試了一會後發現產生錯誤的行是文件中間某行
//$str .= "?>\n";
想起來了 PHP 解釋器允許的結尾標記那行還可以用單行注釋,即 //$str .= "?>\n"; 被解釋成結尾標記前有注釋,注釋的內容是 //$str .= ",而 ?> 後面的 \n"; 會被解釋作 PHP 塊外的內容按 HTML 輸出出去!結果是給 $str .= "?>\n"; 這行添加 // 成注釋後,反而多了個 ?> 的結束標記,造成原來真正的結束標記成了意料之外的(unexpected)了。
解決辦法就是直接刪掉這一行即可。
PHP 開始和結束標記所在行別寫其它東西,是個好習慣。
六、Notice:Undefined varialbe:……
這是一個比較常見的錯誤,解決方法:error_reporting調整錯誤級別,
以上就是為大家分享的PHP常見的6個錯誤提示,給大家提供了大概的解決思路和方向,希望對大家的學習有所幫助。

B. zabbix安裝成功後,訪問頁面,在check of pre-requisites通不過,不知道如何去修改以讓其進入下一步

這里是zabbix檢查php對他的前端是否支持,你按教程把php參數設置好了,但你的php應該是部分模塊沒有開啟,獲取乾脆沒有安裝這些模塊,所有才無法通過
PHP databases support
PHP bcmath
PHP mbstring
PHP sockets
PHP gd JPEG support
PHP gd FreeType support
你或許應該嘗試開啟或安裝這些模塊
查看phpinfo()確定你是否有這些模塊吧

C. linux下lamp平台下安裝zabbix到了,檢查安裝條件時,提示 PHP bcmath no Fail PHP mbstring no Fail

#1.首先進入php的源碼目錄下擴展目錄
cd /root/php-7.1.3/ext
#2.進入要編譯的模塊的目錄下,這里進入bcmath
cd /root/php-7.1.3/ext/bcmath
#3.執行如下命令
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
注意:--with-php-config的路徑請以你的實際路徑為准!
#4.編譯成功後,日誌會輸出bcmath.so這個文件的地址
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
#5.將上述文件添加到php.ini文件里
vi /usr/local/php/lib/php.ini
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/bcmath.so
#6.重啟你的apache或nginx伺服器後,再刷新頁面查看是否成功。

D. ThinkPHP出現Call to undefined function bcadd怎麼解決

主要是因為ThinkPHP框架程序需要用到PHPbcmath擴展,而在默認我們安裝或者編譯PHP的時候沒有一並編譯進來。

我們有兩個方法解決這個問題,一來重新編譯PHP,把bcmath 重新添加編譯,只是這個過程需要一些時間,或者我們下載PHP源碼到伺服器中,然後類似前天安裝soap擴展一樣的單獨編譯enable啟動。這里,老蔣選擇後者。

第一、選擇PHP版本進入目錄

這里我看到這位網友使用的是PHP5.3.17而且在當初是從WDCP面板5.2升級的,根目錄有的安裝包沒有刪除,所以我就不要去PHP官方網站刪除,直接cd進入/ext/bcmath目錄。

第二、編譯啟動bcmath過程

代碼如下

/usr/local/php/bin/phpize
./configure--with-php-config=/www/wdlinux/php/bin/php-config--enable-bcmath
make&&makeinstall

執行完畢之後,我們可以看到 :

代碼如下

/www/wdlinux/apache_php-5.3.17/lib/php/extensions/no-debug-non-zts-20090626/

這樣子的目錄URL地址,這里記錄下來,然後添加到對應的PHP版本PHP.INI文件最後一行。

代碼如下

extension=/www/wdlinux/apache_php-5.3.17/lib/php/extensions/no-debug-non-zts-20090626/bcmath.so

第三、重啟生效

代碼如下

service httpd restart

從探針中可以看到bcmath擴展已經啟動生效,安裝ThinkPHP程序環境已經沒有問題,網友告知已經可以解決問題,看來就是這個擴展作怪導致無法安裝,與此同時,如果有缺少其他PHP擴展,也是用這個方法安裝

更多問題可以去php中文網問答社區提問http://www.php.cn/wenda.html,大神在線幫你解決,希望對你有幫助

E. php常用擴展有哪些

php基本使用到的擴展有如下:

bcmath(精確數值處理)

bz2

calendar

Core

ctype

curl

date

dom

ereg

exif

fileinfo

filter

ftp

gettext

hash

iconv

igbinaryinotify 文件監控

json

libxml

mbstring

mhash

mysql

mysqli

mysqlnd

openssl

pcntl

pcre

PDO

pdo_mysql

pdo_sqlite

Phar

posix

readline

redis Redis緩存

Reflection

session

shmop

SimpleXML

sockets

SPL

sqlite3

standard

sysvmsg

sysvsem

sysvshmswoole 通信引擎

tokenizer

wddx

xml

xmlreader

xmlwriter

xslyaf YAF框架必須

zip

zlib

其中最常用的擴展有:curl date json mysql mysqli openssl pdo_mysql redis session zip等

查看當前php安裝了哪些擴展,可以使用命令:php -m

F. 如何安裝php的擴展bcmath

為了讓網站成功運行,就需要在php中增加bcmath這個擴展(其實默認的php中已經存在bcmath擴展,但是沒有安裝編譯)
安裝php的擴展bcmath具體步驟如下(以下操作均在wdcp 2.4的環境中):
1、ssh登陸vps控制台後,進入要安裝的擴展的源碼目錄:cd /root/lanmp/php-5.2.17/ext/bcmath
2、運行phpize,這是wdcp中的路徑: /www/wdlinux/php/bin/phpize
出現如下提示:
configuring for:
php api version:
20041225
zend mole api no: 20060613
zend extension api no: 220060519
3、編譯安裝:
./configure --with-php-config=/www/wdlinux/php/bin/php-config
make
make install
4、增加到配置文件php.ini里
vi /www/wdlinux/etc/php.ini
在最後增加:extension=bcmath.so
5、重啟服務
service httpd restart
service nginxd restart
然後就大功告成

熱點內容
修改pve伺服器ip 發布:2024-05-19 18:31:52 瀏覽:468
微信密碼忘記了如何取出裡面的錢 發布:2024-05-19 18:27:35 瀏覽:329
vs2005反編譯 發布:2024-05-19 18:26:34 瀏覽:363
ug啟動語言腳本 發布:2024-05-19 18:25:57 瀏覽:874
緩存伺服器技術 發布:2024-05-19 18:25:56 瀏覽:885
androidlistview橫向 發布:2024-05-19 18:21:02 瀏覽:704
多看ftp 發布:2024-05-19 18:11:31 瀏覽:543
給定一個演算法 發布:2024-05-19 17:50:08 瀏覽:864
戀愛生物種離線緩存 發布:2024-05-19 17:49:15 瀏覽:579
卡巴斯基伺服器如何連接外網更新 發布:2024-05-19 17:42:06 瀏覽:560