今朝の更新後、phpは機能しなくなりました。エラー:
AH01071:エラー 'PHPメッセージ:PHP致命的エラー:行2\nの/var/www/html/public_html/.../config.phpの未定義関数mysqli_connect()の呼び出し、リファラー: http:// localhost/public_html /
php -v
PHP 7.0.6-9 + donate.sury.org〜xenial + 2(cli)(NTS)Copyright(c)1997-2016 The PHP Group Zend Engine v3.0.0、Copyright(c)1998- 2016 Zend Technologies with Zend OPcache v7.0.6-dev、Copyright(c)1999-2016、by Zend Technologies
ライブラリは以前にインストールされていましたが、16.04へのdist-upgradingの後、適応するのにかなり時間がかかりました
詳細情報なしでは、一般的な原因のみを説明できます。
php7.0-mysql
パッケージはインストールされていません。修正するにはSudo apt-get install php-mysql
を実行しますmysqli
モジュールは何らかの理由で無効になり、実行を修正しましたphpenmod mysqli
libapache2-mod-php5.6
とともにphp7.0-cli
をインストールした可能性がありますphp5.6-fpm
パッケージ)とApache2モジュール(f.e. libapache2-mod-php7.0
)が含まれています。 a2disconf php5.5-fpm
を実行してFPMを無効にします。extension=mysqli.so
を追加しますより多くの診断を取得するには:
`php -r 'phpinfo();'を実行しますMySQLリファレンスの出力を確認します。
$ php -r 'phpinfo();' | grep -i mysqli
/etc/php/5.6/cli/conf.d/20-mysqli.ini,
mysqli
MysqlI Support => enabled
mysqli.allow_local_infile => On => On
mysqli.allow_persistent => On => On
mysqli.default_Host => no value => no value
mysqli.default_port => 3306 => 3306
mysqli.default_pw => no value => no value
mysqli.default_socket => no value => no value
mysqli.default_user => no value => no value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.reconnect => Off => Off
mysqli.rollback_on_cached_plink => Off => Off
API Extensions => mysql,mysqli,pdo_mysql
Webでも同じことを行い、「 '」だけで簡単なページを作成し、MySQLIモジュールの出力を確認します
さらに問題を調査した結果、システムにPHP 5.5とPHP 7.0が混在しており、Apache2を混乱させている可能性があることがわかりました。一般的な推奨事項として、1つのPHPバージョンから開始して、他のバージョンをデバッグおよびパージすることをお勧めします。
特定のPHPバージョンを完全にパージするには、他のすべての逆依存関係をプルするphpX.Y-common
パッケージをパージできます。
例:
apt-get purge php5.5-common # to remove PHP 5.5
apt-get purge php5.6-common # to remove PHP 5.6
apt-get purge php7.0-common # to remove PHP 7.0
# and to remove old php5 packages:
apt-get purge php5-common # to remove old PHP 5.x packages