我有一个 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 等。我认为罪魁祸首是上面的东西,因为它的其余部分不会读/写外部数据。至少有什么线索会导致这种行为吗?