我根據網路上的提供的 Nginx配置的程式碼 在nginx 做瞭如下設定:
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
但是我發現 在Amazon EC2上設定就可,在騰訊雲設定就不行 ,Amazon EC2 Lnmp環境用的是https://lnmp.org/一鍵環境包,騰訊雲是自己編譯安裝的 。
用phpinfo()
印製 Amazon EC 上的顯示的open_basedir
都是有值的 ,但是騰訊雲上配置的 就全是 no value
但是在 php.ini
中配置就可以,我實在想不明白明白了,改重啟的也重啟了。
是Nginx版本的問題? Amazon的Nginx版本是 1.10 , 騰訊雲端的Nginx版本是 1.12。
nginx:
set php open_basedir
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";(後面的目錄,可以自行設定的,例如設定為open_basedir=/home/wwww/:/tmp/等)
php:
限制目錄:open_basedir =/var/www/sina/:/var/www/wangyi/:/var/www/logs/session/,如果是apache則可以使用php_admin_value open_basedir 來限定
這些是標準、正確的設定。如果相關VPS雲不行,那應該是伺服器的緣故,被限製或搞什麼了。