![](/img/trans.png)
[英]Call to undefined function mysqli_connect() in my Linux cPanel server?
[英]Why is mysqli_connect() an “undefined function” on my PHP server?
我在Linux服務器上使用PHP版本5.3.3。 當我嘗試使用mysql_connect()或mysqli_connect()到達數據庫時,出現錯誤消息:
致命錯誤:調用未定義函數mysql_connect()
要么
致命錯誤:調用未定義函數mysqli_connect()
您可以在此處查看我的測試頁面: http : //gorp.osg.ufl.edu/BOT3151/testing.php
您可以在此處查看phpinfo頁面: http : //gorp.osg.ufl.edu/phptest.php
相關的配置命令在這里:
'--with-mysql=shared,/usr' '--with-mysqli=shared,/usr/lib64/mysql/mysql_config' '--with-pdo-mysql=shared,/usr/lib64/mysql/mysql_config'
它還表示正在解析這些.ini文件:
/etc/php.d/mysql.ini /etc/php.d/mysqli.ini
php.ini文件還包括以下幾行:
extension=mysql.so extension=mysqli.so
那么,這里出了什么問題? 服務器上未正確安裝mySQL嗎? 我怎樣才能解決這個問題?
附錄:我應該解釋說這是在我不管理的共享服務器上。 我只能通過SFTP訪問服務器上的文件夾。 但是我確實有一個php.ini文件,並且我有一個擴展文件夾。 那么,這是我可以自己解決的問題,還是需要服務器管理員的幫助?
嘗試通過以下方式安裝PHP MySQL:
apt-get install php5-mysql
然后,可以使用PHP和Apache設置輕松設置MySQL。 如果已經安裝了MySQL,則可以先將其卸載,然后嘗試在終端中通過以上代碼安裝PHP MySQL。
這是最簡單的方法,無需任何設置。
未加載“ mysqli”擴展名。 您無法在phpinfo()文件中看到此部分。
http://gorp.osg.ufl.edu/phptest.php
您應該在該頁面上看到以下內容: https : //drive.google.com/open?id=0B7VdYIkRLxQWaDRLYVNLeU84am8
僅因為您取消注釋了extension=mysqli.so
,並不意味着它將加載。 mysqli.so
文件可能不在PHP所尋找的文件夾中,或者根本不存在。
在您的php.ini
文件中檢查“ extension_dir”。 然后去看看文件mysqli.so
是否實際存在。
您是否重新啟動了Web服務器?
鑒於您的PHP信息頁面未列出顯示MySQL配置的部分,因此可以推斷可能未在您的服務器上安裝MySQL。
我面臨着類似的問題。 php.ini文件中的默認值存在一些問題。 如果以上給出的答案未能解決您的問題,請查看此答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.