我将许多脚本从 Apache 服务器移至 IIS 服务器。许多脚本都假设脚本的当前工作目录与包含正在运行的主要 (?) 脚本文件的目录相同。在 IIS 服务器上,情况似乎并非如此,工作目录始终是 PHP 目录(例如 C:\PHP)。
有没有办法改变这种情况并让 IIS 或 FastCGI 模块使用脚本目录?
我也尝试在脚本开头放置一个“chdir(dirname(__FILE__))”,但显然这个想法是不允许的,因为 chdir("C:\MySite") 失败(“没有这样的文件或目录 (errno 2)”),而“C:\”或“C:\MySite\subdir\”似乎可以工作……
答案1
您可以尝试将 PHP 可执行文件移动到与脚本相同的目录中吗?(这对我来说听起来不太好,但如果无法以其他方式指定工作目录,我就想不出其他解决方案了)。
如果您这样做,我认为您还需要更新 Web 服务扩展列表以反映新的位置。