1. ホーム
  2. マイスル

未定義の関数 mysql_connect() の呼び出し 解決方法概要

2022-02-09 08:19:36

方法1.

PHP コードで phpinfo() 関数を使用し、PHP の基本情報を表示する

PHP 5.0 以降、mysql_connect() は推奨されません。PHP 7.0 では単に非推奨となっています。

方法2

インストールされたphpにはmysqlモジュールが含まれていません。

CentOsのインストールで、mysqlモジュールのインストール。

yum install php-mysql -y

インストール後、以下の警告が表示された場合

ヘッダーとクライアントライブラリのマイナーバージョンが不一致です。

これは、MySQL のバージョンが高く、MySQL Client API のバージョンが低いことが原因です。

この時点で、まず先ほど行ったphp-mysqlのアンインストールが可能です。

yum remove php-mysql -y

次に

yum install php-mysqlnd -y

最後にapacheを再起動します。

systemctl httpd を再起動します。

Ubuntuは、mysqlモジュールをインストールします。

apt-get php5-mysql をインストールします。 

sudo dpkg-reconfigure php5-mysql 

sudo /etc/init.d/mysql 再起動

sudo /etc/init.d/apache2再起動

方法3

最初の2つの方法がうまくいかない場合、php.ini設定ファイルでmysqlモジュール拡張機能をオンにしてみてください。

php.iniファイルの ;extension="related mysql module" を見て、先頭の.を削除してください。

そして、拡張機能のdirが拡張機能が格納されているディレクトリを指していることを確認します。

Windowsは通常extの下、centosは/usr/lib64/php/modulesの下です。

上記の情報はすべてphpinfoの印刷物で確認することができます

しかし、私がこの問題に直面したとき、php-mysqlモジュールをインストールしただけで、php.iniを変更する必要はありませんでした。

環境はcentos7で、phpのバージョンはphp5.4です。