#この記事の動作環境: centos 7 システム、php 5.6、thinkpad t480 コンピューター。 最近、古いプロジェクトの保守中に誤ってエラーを発見しました。エラー メッセージ:「致命的なエラー: キャッチされないエラー: 未定義の関数 mysql_connect() の呼び出し」。原因を調べたところ、PHPのmysql_connectモジュールが非推奨になっており、環境構築時にmysql拡張機能をインストールしなかったため、このエラーが発生しました。 原因が特定されたので、解決するのがはるかに簡単になります。この問題は、phpize ツールを使用して mysql.so 拡張機能を手動でコンパイルおよび生成することで解決できます。 具体的な手順は次のとおりです。 まず、pdo_mysql 拡張機能のソース コード パッケージをダウンロードします。php5.6 に mysql 拡張機能をインストールする方法: 1. 拡張ソース コード パッケージをダウンロードして解凍します; 2. phpize を実行します; 3. makefile を生成し、make および make install コマンドを実行します; 4. php を変更します.ini 設定ファイル ;5. httpd サービスを再起動します。
# wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz次に解凍します。
# tar -zxvf PDO_MYSQL-1.0.2.tgz解凍したディレクトリに移動し、phpizeを実行します。
# /usr/local/php/bin/phpize Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525以下のメイクファイルを生成します。最後の 2 つのパラメータは追加する必要がありますが、最初は追加しなかったのですが、結果として php-config と mysql のヘッダー ファイルが見つかりませんでした。
# ./configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql作成する前に、mysql ヘッダー ファイルへのソフト接続を作成する必要があります。 MySQL のインストール時にディレクトリが指定されるため、ソフト接続を行わないとヘッダー ファイルは見つかりません。
# ln -s /usr/local/mysql/include/* /usr/local/include/次に、make と make install を実行します。
# make # make install次のプロンプトが表示されます。これは、拡張機能が次のディレクトリにインストールされていることを意味します。
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/php.ini ファイルを変更します変更: extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20100525/"追加: extension=pdo_mysql.sohttpd を再起動して php 設定ファイルをリロードします推奨される学習:
以上がphp5.6にmysql拡張機能をインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。