デフォルトで
[code]/cgi-bin[/code]
配下で動作することになっている。
当然不便なのでドキュメントルートに.htaccessを設置して変更
内容
[code]
Options +ExecCGI
AddHandler cgi-script .cgi
[/code]
デフォルトで
[code]/cgi-bin[/code]
配下で動作することになっている。
当然不便なのでドキュメントルートに.htaccessを設置して変更
内容
[code]
Options +ExecCGI
AddHandler cgi-script .cgi
[/code]
—–
PHPでドキュメントルート以外にあるファイルやディレクトリを読みに行くと
[code]Warning: ~ open_basedir restriction in effect. ~[/code]
といったエラーになる場合がある。
—–
Pleskではバーチャルホストごとに
[code]/home/httpd/vhosts/example.com/conf/httpd.include[/code]
といった設定ファイルが作成されるが、
この中にopen_basedirの設定があり、かつ以下のようになっている。
[code]php_admin_value open_basedir “/home/httpd/vhosts/example.com/httpdocs:/tmp”[/code]
結果、前段のエラーとなる。
—–
open_basedirの設定部分を書き換えればいいのだが、
httpd.includeの冒頭に記載があるとおり、
Pleskの都合上?は直接編集してはいけないことになっている。
で、さらに読むとカスタマイズしたいなら
[code]/home/httpd/vhosts/example.com/conf/vhost.conf[/code]
でやれと。
—–
具体的には以下の手順で作成。反映させる
(1)ファイル作成
[code]vi /home/httpd/vhosts/example.com/conf/vhost.conf[/code]
(sslの場合 vhost_ssl.conf)
(2)内容記述(open_basedirの設定を上書き)
[code]
<Directory /home/httpd/vhosts/example.com/httpsdocs>
php_admin_flag engine on
php_admin_value open_basedir none
</Directory>[/code]
(3)設定反映
以下のコマンドを実行
[code]/usr/local/psa/admin/bin/websrvmng -v -a[/code]
/home/httpd/vhosts/example.com/conf/vhost.conf (vhost_ssl.conf)
が存在する場合、
/home/httpd/vhosts/example.com/conf/httpd.include
内にInclude文が記述される)
(4)設定確認
[code]/etc/init.d/httpd configtest[/code]
(5)apache再起動
[code]/etc/rc.d/init.d/httpd restart[/code]