通过命令提示符执行时,fgets()不起作用

时间:2013-09-26 02:06:01

标签: php windows cmd fgetcsv

我一直在摸不着为什么我的代码现在没有工作几天(因为当我打印出我的变量它们很好,但不会记录到数据库中)但现在我意识到问题是PHP没有读取CSV文件(基本上我需要做的是获取一个CSV文件,并将其移植到PostgreSQL数据库)。

我现在意识到它不起作用的原因是因为我在尝试写入数据库时​​通过命令行执行代码,但在测试时在浏览器中执行代码。

这让我意识到当我通过cmd执行代码时,文件没有被读取。 CSV文件太大而无法在浏览器中执行并导致内部服务器错误,因此我必须通过cmd执行它,但是当我这样做时,它不会读取文件,那么我该如何处理修理那个?

1 个答案:

答案 0 :(得分:0)

您很可能有文件所有者/权限问题。当您在浏览器中执行脚本时,它将被作为用户www-data(或您的用户)来执行。当您从命令行运行时,您可以自己运行它,这是另一个用户。

更改文件权限或从Web用户运行脚本,例如

sudo -u www-data php yourscriptname.php
相关问题