为什么我的php脚本会生成[filename] .php。[#]文件?

时间:2012-07-30 14:54:56

标签: php file-io

我有一个PHP脚本,它异步接受SOAP帖子并将重新格式化的信息转发给另一个Web服务。帖子最初提交给myPhpServer.php,即:

include('util.php');
$InvoiceNumber = (string)simplexml_load_string(file_get_contents("php://input"))->Order->InvoiceNumber;
exec("wget -bqo /dev/null --post-data 'InvoiceNumber=$InvoiceNumber' http://mysite.com/auto/myPhp.php");

这是myPhp.php接受的,除了最后添加到我的日志文件时,它没有任何文件写入操作:

file_put_contents
(
    'log.txt', 
    date('Y-M-j H:i:s T')."\t$InvoiceNumber\t".postToWebService($Order)."\n",
    FILE_APPEND
);

此过程在此目录中生成一个名为myPhp.php。[#]的新文件,其中#从1开始,每次使用脚本时递增。所以一段时间后,这会构建一堆不可读的0kb文件,如myPhp.php.1,myPhp.php.2,myPhp.php.3等等。我认为罪魁祸首是上面的东西,因为其余部分不读/写外部数据。通常会导致这种行为的任何线索,至少?

1 个答案:

答案 0 :(得分:4)

你这样做:

exec("wget -bqo /dev/null --post-data 'InvoiceNumber=$InvoiceNumber' http://mysite.com/auto/myPhp.php");

这是一个将LOG(错误)消息写入/ dev / null的wget,但它检索文件calles myPhp.php,并为其生成一个文件。

阅读wget的man-page,但我认为你可以使用-O来指定输出文档,就像使用-o一样。