PHP は、Web 開発で一般的に使用されるサーバー スクリプト言語です。よくある質問は、PHP で MySQL が起動しないように設定する方法です。この記事では、開発者が必要なときに MySQL をシャットダウンするのに役立ついくつかの方法を紹介します。
まず最初に、PHP では MySQL 拡張機能がデフォルトで有効になっているということを理解しておく必要があります。これは、PHP コードで mysql_connect() などの MySQL 関連関数を使用すると、PHP は MySQL サーバーへの接続を試みることを意味します。
MySQL 拡張機能を無効にしたい場合は、PHP 構成ファイルを変更することで無効にできます。 php.ini に次の行があります。
extension=mysql.so
この行の前にあるコメント記号 (;) を削除して保存します。この時点で、PHP は MySQL 拡張機能をロードしなくなるため、MySQL サーバーに接続できなくなります。
MySQL 拡張機能をグローバルに無効にするのではなく、特定の PHP ファイル内で MySQL 拡張機能を無効にするだけの場合は、次のコードをファイルに追加できます。
// 禁用mysql扩展 // dl('mysql.so');
このようにして、PHP がファイルにアクセスすると、MySQL 拡張機能はロードされなくなります。この方法はPHP環境に依存するので注意してください。具体的には、PHP のセーフモードが有効になっているか、dl 機能が無効になっている場合、この方法は使用できません。
上記の 2 つの方法に加えて、MySQL を無効にするのに役立つテクニックがいくつかあります。一般的なアプローチは、PDO 拡張機能を使用することです。 PDO は、MySQL を含む複数のデータベースをサポートする PHP データベース接続抽象化ライブラリです。 MySQL に接続せずに他のデータベースを使用したい場合は、PDO ドライバーを非 MySQL ドライバーに設定できます。
$db = new PDO('sqlite:/path/to/database.db');
このコードは、SQLite ベースの PDO 接続を作成します。これは、この PHP コードは MySQL を使用せず、SQLite データベースに接続することを意味します。
最後に、あまり望ましくありませんが、試す価値のある別の方法があります。それは、MySQL 関連関数を再定義することです。 PHP の組み込み関数をオーバーライドする独自の関数を定義することで、カスタム ロジックを実装できます。以下は、mysql_connect() 関数を無効にする例です。
function mysql_connect() { throw new Exception('MySQL functions are disabled!'); }
mysql_connect() 関数は、例外をスローするためにここで定義されています。これは、PHP コードが mysql_connect() 関数を呼び出そうとすると、例外がスローされることを意味します。このようにして、mysql_connect() 関数を無効にすることに成功しました。
要約すると、PHP で MySQL 拡張機能を無効にするのは難しい作業ではありません。これは一部の特殊なケースでは必要であり便利ですが、パフォーマンスと安定性を向上させるために、一般的には MySQL 拡張機能を使用することをお勧めします。 MySQL を無効にする必要がある場合は、上記の方法に従ってください。
以上がMySQLを起動しないようにPHPを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。