1. エラー メッセージ
ThinkPHP をインストールするときに、次のエラー メッセージがよく表示されます:
Unable Open圧縮ファイル (open_basedir 制限)
プログラムを実行すると、警告が表示されます:
警告: require(D:\wamp\ www\thinkphp \index.php): ストリームを開けませんでした: D:\wamp\www\thinkphp\test.php の 2 行目にそのようなファイルまたはディレクトリはありません
エラー メッセージプログラムの実行時に表示されます :
致命的エラー: クラス 'PDO' が /path/to/thinkphp/ThinkPHP/Library/Think/Db/Driver.class.php に見つかりません34 行目
2. 解決策
圧縮ファイルを開けません
原因は次のとおりです。システムの open_basedir 制限。セキュリティ上の理由により、PHP のシステム機能がオフになっていたため、ファイルを解凍できませんでした。この問題は次の 2 つの方法で解決できます。
方法 1: php.ini 構成ファイルを変更する
Apache 構成フォルダーを開きます (例: D:\wamp\bin\apache\Apache2.2.21\) conf) で php.ini を見つけ、php.ini で open_basedir を検索し、次のように変更します。
open_basedir = "c:/wwwroot;c:/wwwroot/thinkphp"
where c :/ wwwroot は Web サイトのルート ディレクトリ、c:/wwwroot/thinkphp は ThinkPHP フレームワークのパスです。
方法 2: Apache の httpd.conf 構成ファイルを変更する
Apache 構成フォルダーを開き、httpd.conf を見つけて、最後に次の構成を追加します。
php_admin_value open_basedir "D:\wamp\www;D:\wamp\www\thinkphp"
注: php_admin_value open_basedir 構成アイテムは Directory ノードで定義する必要があります。
上記の操作を完了し、Apache を再起動すると、問題は解決します。
プログラムの実行時にアラームが表示されます
これは、プログラムがindex.php ファイルを見つけられなかったためです。次のように、test.php ファイルの require ステートメントのパスを、index.php ファイルのパスに設定する必要があります。
require_once('D:/wamp/www/thinkphp/index.php ');
D:/wamp/www は Web サイトのルート ディレクトリ、D:/wamp/www/thinkphp は ThinkPHP フレームワークのパスです。
プログラムを実行すると、エラーが表示されます。
これは、PHP に PDO 拡張機能がインストールされていないことが原因です。 php.ini で extension=php_pdo_mysql.dll という行を見つけ、先頭の「;」を削除して、php.ini 構成ファイルを保存する必要があります。次に、php.ini から extension_dir を検索し、このディレクトリに php_pdo_mysql.dll ファイルがあるかどうかを確認し、存在しない場合は、PDO 拡張機能 (php_pdo_mysql.dll など) をダウンロードしてインストールする必要があります。
以上がthinkphpのインストール時のエラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。