簡體   English   中英

Mysqli_stmt_get_result在PHP 5.5.3中返回致命錯誤

[英]Mysqli_stmt_get_result returning fatal error in PHP 5.5.3

我正在運行安裝了php 5.5.3的apache2本地開發服務器。 由於某種原因,我得到了錯誤

Fatal error: Call to undefined function mysqli_stmt_get_result()

在我所有的頁面上。 我已經在php文檔中閱讀到get_result()方法需要MySQL本機驅動程序(mysqlnd),但是在MySQL網站上它說:“從PHP 5.4開始,mysqlnd庫是所有PHP MySQL的php.net編譯時默認值擴展名”。 無論如何我都嘗試安裝php5-mysqlnd,當我這樣做時,它會覆蓋以前的mysql和mysqli conf文件,導致我得到錯誤

Fatal error: Call to undefined function mysqli_connect()

當我重新安裝php5-mysql時,它將刪除mysqlnd軟件包。 我並不真的在乎安裝軟件包,我更想知道為什么mysqlnd在PHP 5.5.3中不被視為軟件包,應該如何啟用它? 提前致謝!

在Ubuntu 13.10上運行的Apache 2服務器:

[~]$ php5 --version
PHP 5.5.3-1ubuntu2 (cli) (built: Oct  9 2013 14:49:12) 
Copyright (c) 1997-2013 The PHP Group

[~]$ mysql --version
mysql  Ver 14.14 Distrib 5.5.34, for debian-linux-gnu (x86_64) using readline 6.2

編輯:

我已經將擴展名添加到位於/etc/php5/apache2/php.ini的php.ini文件中。 該文件顯示為:

; If you wish to have an extension loaded automatically, use the following
; syntax:
;
;   extension=modulename.extension
;
; For example, on Windows:
;
;   extension=msql.dll
;
; ... or under UNIX:
;
;   extension=msql.so
;
; ... or with a path:
;
;   extension=/path/to/extension/msql.so

extension=/usr/lib/php5/20121212/curl.so
extension=/usr/lib/php5/20121212/json.so
extension=/usr/lib/php5/20121212/mysqli.so
extension=/usr/lib/php5/20121212/mysql.so
extension=/usr/lib/php5/20121212/mysqlnd.so

檢查您的php.ini以檢查MySQLi的擴展名是否未注釋。.它的外觀示例如下:

extension=php_ldap.dll
;extension=php_mssql.dll
;extension=php_mbstring.dll
;extension=php_exif.dll      ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll

如果有; 然后刪除它,將更改保存到php.ini並通過調用重新啟動apache:

/etc/init.d/apache restart

如果不確定php.ini的位置,請使用以下命令創建一個簡單頁面:

<?php
  phpinfo();
?>

並檢查以下行:

加載的配置文件:dir / to / php.ini

甚至運行phpinfo(); 首先檢查:

在phpinfo中啟用MySQLI

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM