在询问this question后,有人指出无法执行第二个脚本的正确方向,如果已经在运行的话。
我通常制作的应用程序依赖于执行对PHP页面的AJAX调用,今天我发现尝试在PHP脚本上使用fwrite()
写入文件并尝试在另一个AJAX调用中读取与fread()
相同的文件(以获取进度反馈)最终在第二个脚本中仅在第一个脚本已完成时执行。
甚至试图回应一个简单的"你好" (echo "hello"; exit;
)在第一个脚本完成之前,页面上不显示任何内容。
所以,我问:这是正常的配置吗?默认情况下,每次安装PHP都是一样的吗? php.ini
上的某些配置是否可以更改?
或者它与服务器(在我的情况下,Microsoft IIS 10)有关?有人可以在不同的AJAX调用一次(或者在其他人完成之前)对如何能够执行多个PHP脚本有所了解?
我知道我没有提供有关我的背景设置的更多信息,但我不知道在哪里可以查看。
感谢大家的时间和帮助!
答案 0 :(得分:1)
正如Luis所说,它可能是你试图修改的文件的写锁定。但是,如果您正在使用使用文件(而不是数据库)的会话或使用基于文件的会话的框架,则另一种可能性是,此行为也可能是会话锁定的结果。我的钱可以用在路易斯的答案上 - 你应该使用数据库而不是文件,除非你有充分的理由不这样做。