[英]PHP FastCGI open_basedir restriction on IIS 7
我在一台服務器上有兩個環境,它們通過 EnvironmenteVariable 分開。 這部分工作起來很有魅力(兩個帶有 open_basedir 的 FastCGI 池已設置到 ApplicationHost
<application fullPath="C:\\path\\to\\php\\php-cgi.exe" arguments="-d open_basedir=C:\\path\\to\\webroot\\ENV_DIR">
和相關的 web.config
<add name="php" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\\path\\to\\php\\php-cgi.exe|-d open_basedir=C:\\path\\to\\webroot\\ENV_DIR" resourceType="Unspecified" requireAccess="Script" />
)。
問題始於對其他文件夾的 open_basedir 限制 - 例如\\\\path\\to\\network\\folder或C:\\path\\to\\webroot\\FOLDER (位於環境文件夾之外)。 如何啟用對這些文件夾的訪問?
試過:
'... open_basedir="C:\\path\\to\\webroot\\ENV_DIR;C:\\path\\to\\webroot\\FOLDER"'
沒有任何幫助。
好的,找到了解決辦法。 也許其他人也需要它。 不要使用 open_basedir,而是使用 doc_root(僅限 IIS,如果沒記錯的話,PHP 選項)。 以下是示例:
applicationHost.conf文件:
<application fullPath="C:\\path\\to\\php\\php-cgi.exe" arguments="-d doc_root=C:\\path\\to\\webroot\\ENV_DIR">
和相關的web.config
<add name="php" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\\path\\to\\php\\php-cgi.exe|-d doc_root=C:\\path\\to\\webroot\\ENV_DIR" resourceType="Unspecified" requireAccess="Script" />
通過這種方式,您可以:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.