![为什么 PHP 脚本不能通过命令行或任务计划程序在服务器 2008 上写入文件?](https://linux22.com/image/513397/%E4%B8%BA%E4%BB%80%E4%B9%88%20PHP%20%E8%84%9A%E6%9C%AC%E4%B8%8D%E8%83%BD%E9%80%9A%E8%BF%87%E5%91%BD%E4%BB%A4%E8%A1%8C%E6%88%96%E4%BB%BB%E5%8A%A1%E8%AE%A1%E5%88%92%E7%A8%8B%E5%BA%8F%E5%9C%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%202008%20%E4%B8%8A%E5%86%99%E5%85%A5%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我有一个 PHP 脚本。当我使用浏览器时,它运行良好。它会在同一目录中写入一个 XML 文件。该脚本运行大约需要 60 秒,生成的 XML 文件大约为 16 MB。
我在 Server 2008 64 位上通过 FastCGI 运行 PHP 5.2.13。
我在任务计划程序中创建了一个任务来运行 c:\php5\php.exe “D:\inetpub\tools\something.php”
没有返回错误,但没有创建文件。
如果我在命令行运行相同的路径和参数,它不会出错,也不会创建文件。
我正在做一个简单的 fopen fwrite fclose 来将 php 变量的内容保存到 .xml 文件,并且只有在通过浏览器运行脚本时才会创建该文件。
谢谢
答案1
最有可能是权限问题。首先尝试使用“以管理员身份运行”选项启动命令提示符,然后查看是否创建了文件。如果是,则说明只是权限问题。
哪个用户正在运行计划任务?您需要授予该用户适当的权限,以便其可以写入您想要在其中创建文件的文件夹。
您是否已打开 UAC?