我在带有IIS7和FastCGI的Windows Server 2008上运行php 5.5.12。
这是我遇到的其中一个日志错误:
file_put_contents(): open_basedir restriction in effect. File(C:\Program Files (x86)\Wowza Media Systems\Wowza Streaming Engine 4.0.3\content\vod\test.smil) is not within the allowed path(s): (C:\Program Files (x86)\Wowza Media Systems\Wowza Streaming Engine 4.0.3\content\vod;C:\Windows\TEMP\;E:\webpage;C:\php) in E:\webpage\dev\vod\createsettings.php on line 41
这是open_basedir
中的php.ini
行:
open_basedir = "C:\Program Files (x86)\Wowza Media Systems\Wowza Streaming Engine 4.0.3\content\vod;C:\Windows\TEMP\;E:\webpage;C:\php"
正如您所看到的,目标目录实际上是在open_basedir
中指定的,但它的行为就好像是受限制的。
注释掉open_basedir
并重新启动IIS会导致错误,并且一切都按预期工作。
将目标目录更改为其他打开的目录之一(例如C:\Windows\TEMP
)也可以正常工作,没有错误。
我在这里看了八页的问题,但没有看到匹配。提前感谢您提供的任何帮助!
答案 0 :(得分:0)
尝试使用PHP和C:\ Program Files(x86)时,您将遇到很多权限问题。在写入权限时,Windows中的32位和64位Program Files目录都非常挑剔。如果将目录移到Program Files之外并直接移动到C:\驱动器中,它应该可以缓解一些问题。 (例如,在进行文件上传,会话存储等时,通常可以使用PHP轻松访问C:\ temp。)。