3

PHP言語初心者です。私の Web プロジェクトでは、すべてのファイル パスを Web サイト ディレクトリに格納する filepath.config.ini ファイルを作成しました。たとえば。CLASS1 = bin/myclass1.php CLASS2 = bin/myclass2.php

そして、次を使用してそれらのパスにアクセスしています:

require $_SERVER['DOCUMENT_ROOT'].'/'.GetfilePath('CLASS1');

ローカルホストサーバーでうまく機能し、このようなパスを提供してくれます

D:/myproject/bin/myclass1.php

これらのファイルをテスト サーバーにアップロードすると、この open_basedir 制限エラーが発生します。

Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/usr/local/apache/htdocs/projectfolder/bin/myclass1.php) is not within the allowed path(s): (/home/:/usr/lib/php:/tmp) 

この制限を無効にできることは知っていますが、その方法がわかりません :P. しかし、このサーバーDOCUMENT_ROOTを使用するのは良いですか??? または、ファイルパスを使用する別の方法はありますか? それらのファイルパスにアクセスするためにあなたが何をするか。open_basedir 制限を無効にするとどうなりますか? それを行うのは安全ですか?どうすればいいですか?

4

1 に答える 1

1

php.iniファイル(PHP:構成の変更)を編集し、 open_basedirを無効にするか、/ usr / local / apache/htdocsを追加します。

于 2012-11-17T08:05:55.010 に答える