未定義の関数 mysql_connect() の呼び出し 解決方法概要
方法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です。
関連
-
[解決済み] MySQLの グループ関数の無効な使用
-
[解決済み] ERROR 1148: 使用されたコマンドはこのMySQLバージョンでは許可されていません。
-
[解決済み] MySQLで日付のみのパラメータを使用してタイムスタンプの日付を比較する方法は?
-
[解決済み] テーブルのストレージエンジンは修復をサポートしていません。InnoDB または MyISAM?
-
[解決済み] エラー 1044 (42000)。データベース 'db' へのユーザー ''@'localhost'' のアクセスが拒否されました。
-
[解決済み] 各単語の最初の文字を大文字にする(既存のテーブルの場合
-
[解決済み] エラー 1049 (42000)。不明なデータベース
-
[解決済み] 'PDOException' with message 'SQLSTATE[HY000] [2002] No route to host
-
エラーNo.2003 '10.88.49.122' のMySQLサーバーに接続できません (10061)
-
mysqlがエラーを報告する(ユニークなテーブル/エイリアスでない)。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】MySQLのDESCRIBE [table]に相当するSQLiteはあるか?]
-
[解決済み] エラー 1115 (42000)。不明な文字セットです。'utf8mb4'
-
[解決済み] MySQLクエリ GROUP BY 日/月/年
-
[解決済み] MySQLです。テーブルを作成できません (errno: 150)
-
[解決済み] mysqladminのフラッシュホストでブロックを解除する方法
-
[解決済み] フォワードエンジニアはMySQL Workbenchで何もしていない
-
[解決済み] MySQLで1つを除くすべての列を選択しますか?
-
[解決済み] 互換性のあるサーバーが見つかりませんでした - MySQL
-
初期通信パケットの読み込み」でMySQLサーバーに接続できなくなり、システムエラーが発生しました。0
-
エラー: 切り捨てられた不正なDOUBLE値