これはサーバーに焦点を当てたものかもしれませんが、誰かが助けてくれることを願っています.
サーバー(またはローカルコンピューター)に設定ファイル(application/config/database.phpなど)を設定するように設定しようとしているPHP CodeIgniterアプリケーションがあり、それらはgithubにありません(データベースのパスワードはありません追跡されます)、すべてが簡単になります。
したがって、ローカルホストで完全に機能しています。基本的には次のようになります。
/path_before_httpdocs/config/development/config.php
しかし、サーバー上でフォルダー構造が設定されていますが、次のエラーが発生します。
Warning: require(): open_basedir restriction in effect.
File(/var/www/vhosts/mysite.com/subdomains/staging/config/staging/config.php) is not within the allowed path(s):
(/var/www/vhosts/mysite.com/subdomains/staging/httpdocs/:/tmp/:/var/www/vhosts/mysite.com/subdomains/staging/httpsdocs/:/tmp/)
in /home/mysite/staging/deploy/releases/20130312155222/httpdocs/application/config/config.php on line 12
最初にしたことは、php.ini ファイルに移動して、それが何であるかを確認することでした。設定されていなかったので、php.ini に設定してから httpd を再起動しました。したがって、phpinfo() を実行すると、次のように表示されます。
Directive | Local Value | Master Value
open_basedir | /var/www/vhosts/mysite.com/subdomains/staging/httpdocs/:/tmp/:/var/www/vhosts/mysite.com/subdomains/staging/httpsdocs/:/tmp/ | /var/www/vhosts/mysite.com/subdomains/staging/config/staging/:/tmp/
それでもエラーが発生します。だから私が次にしたことは試してみることでした
ini_set('open_basedir', '/var/www/vhosts/mysite.com/subdomains/staging/config/staging/:/tmp/');
これも機能しませんでした。次に、ini_get('open_basedir') をエコーしたところ、これが返されました
/var/www/vhosts/mysite.com/subdomains/staging/httpdocs/:/tmp/:/var/www/vhosts/mysite.com/subdomains/staging/httpsdocs/:/tmp/
私のphp.iniを無視しているようです
この記事に従おうとしました (私は mediatemple の DV 4 でホストされています)。Mediatemple サポートは、彼らが私を助けることができないと言いました。ここに誰かアイデアがありますか?必要に応じて、さらに情報を提供することもできます。