

PHP スクリプトを実行しようとしたら下記のエラーが出てきます：

[code]

    WARNING: is_readable() [function.is-readable]: 
        open_basedir restriction in effect.
        File(/usr/share/php/Am/View/Helper/HeadScript.php) is not within the
        allowed path(s): (/home/1205915141/members-net/:/tmp:/usr/share/pear/)
        in line 198 of file 
        /home/1205915141/membersnet/public_html/library/Zend/Loader.php
    
[/code]

サーバーの管理者に聞いたら、open_basedirをセキュリティ上変更ができないといわれて、こっちでhtaccessを使って下記のように解除しようとしていますが、だめのようです。

[code]

    php_value open_basedir  /usr/share/php/ 
    
[/code]

パスが間違ってるか、書き方自体が間違ってるか分かりませんが、どうしてもうまくいかないので教えていただければ幸いです。


CC BY-SA 3.0
2015-01-09T06:40:58.343
4325
2015-01-09T07:22:45.687
2015-01-09T07:04:18.613
4978
7263
question
php .htaccess
open_basedir 制限の解除


`php_value` ではなく `php_admin_value` を使用してみてください。

[code]

    php_admin_value open_basedir /usr/share/php/
    
[/code]

ご参考: PHP: コア php.ini ディレクティブに関する説明 - Manual
<http://php.net/manual/ja/ini.core.php#ini.open-basedir>


CC BY-SA 3.0
2015-01-09T06:50:28.250
4327
2015-01-09T06:50:28.250
3160
4325
answer


共有サーバーなどでしょうか？ 使いたいファイルやライブラリを全て自分で管理できるディレクトリに配置してください。

Htaccessなどで設定できる内容とそうでない内容はphpのマニュアルに掲載されています。
該当の項目は管理者がシステム単位でしか設定できないSystemレベルかと思います。

スクリプト、フレームワーク、ライブラリなど扱う全てのファイルが権限チェックの対象になっています。
共用のディレクトリのファイルを読み込まないように設定やプログラムを変更してください。


CC BY-SA 3.0
2015-01-09T06:50:31.233
4328
2015-01-09T07:22:45.687
2015-01-09T07:22:45.687
452
452
4325
answer


利用されている PHP のバージョンは 5.3.0 未満でしょうか？

open_basedir は 5.3.0 未満だと PHP_INI_SYSTEM なので .htaccess で変更することはできません。

<http://php.net/manual/ja/ini.core.php#ini.sect.path-directory>

httpd.conf で php_admin_value で指定すれば大丈夫かもしれませんが、共有サーバだとそれもできないでしょう。

* * *

5.3.0 以上でも .htaccess などで緩い方に設定を変更することはできないと思います。


CC BY-SA 3.0
2015-01-09T07:07:46.627
4329
2015-01-09T07:15:24.740
2015-01-09T07:15:24.740
2494
2494
4325
answer