私は最近 php7 を試しましたが、MySQL のコンパイルとサポートでいくつかの問題に遭遇しました。多くの学生が同じ問題に遭遇していると思うので、ここでそのプロセスについて話します。簡単に言うと、PHP7 をコンパイルするには 3 つのステップしかありません: 1. ./buildconf --force 2. ./configure 3. make make install ステップ 1 と 3 は、コンパイルの鍵であり、心配する必要はありません。
私は最近 php7 を試しましたが、MySQL のコンパイルとサポートでいくつかの問題に遭遇しました。多くの学生が同じ問題に遭遇していると思うので、ここでそのプロセスについて話します。簡単に言えば、PHP7 のコンパイルに必要なステップは 3 つだけです:
1. ./buildconf --force
2、./configure
3. 作成&&インストール
ステップ 1 と 3 は心配する必要はありません。設定はコンパイルの鍵であり、いくつかのライブラリに対する PHP のサポートが含まれます。ここでは、MySQL を含む最小限のサポートを使用します。
カールcurl と gd を例として使用する理由は、これらのサードパーティ ライブラリを PHP をコンパイルする前にインストールする必要があることを明確にするためです。yum を直接使用してデフォルトの場所にインストールすることも、コンパイルしてインストールすることもできます。 yum をインストールしたら、ライブラリのインストール場所を指定する必要はありません。これらのライブラリのインストールについては、いろいろ検索できます。基本的な設定を見てみましょうgd
fpm
mysqlnd
リーリー
PHP-FPMphp-fpmパラメータ:
--開始 開始MySQL サポート--強制終了を停止します
--スムーズな終了を終了します
--再起動 再起動
--reload は php の php.ini をスムーズにリロードします
--logrotate ログファイルを再度有効化します
ご覧のとおり、PHP は MySQL をサポートするために mysqlnd を使用したいと考えているため、パラメーターは次のように記述できます:
--enable-mysqlnd
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
mysqlnd は mysql のサポートを必要としないため、最初に mysql をインストールしなくてもコンパイルして渡すことができます。php-fpm を起動して phpinfo を確認すると、php が既に mysql をサポートしていることがわかります (ここでは pdo と mysqli が使用されています)。同じ理由)
いくつかの質問
PHP は、mysql サービスが見つからないことを報告しました
mysql.sock はどこですか? mysql.sock の実際の場所を見てみましょう: ps -ef|grep mysql を使用してください:
明らかに同じ場所ではありません。私の正しい場所は/var/lib/mysql/mysql.sockです
したがって、php.ini を変更し、pdo_mysql.default_socket を見つけて実際の場所に変更し、php-fpm を再起動します。残念ながら、php.ini はこの構成になっていますが、変更後は機能しません。 . 、mysql.socket の場所を指定します:
--with-mysql-sock=/var/lib/mysql/mysql.sock
それでも機能しない場合は、/tmp ディレクトリに mysql.sock へのソフト リンクを作成できます。 リーリー
php-fpm を再度再起動します。正常に実行されていると思います。 PHP でサポートされるライブラリがさらに必要な場合は、再度コンパイルして、構成時に必要なサポート (--with-xxx) を追加できます。サードパーティのライブラリの場合は、最初にこれらのライブラリをインストールする必要があります。