通过文件共享在IIS中加载PHP的延迟很长

时间:2019-06-13 20:20:41

标签: php iis unc

我有一个新的IIS 10 / Server 2019服务器,该服务器使用SMB文件共享存储应用程序数据。我的问题是,对于PHP网站,启动简单的“ hello world”网站大约需要2分钟15秒的延迟。甚至更陌生,它会在所有使用PHP 7.x的网站上执行此操作,但不会在5.x上执行,除非它像Mediawiki这样更复杂的网站。它也仅在通过文件共享加载时执行,否则可以快速访问。第一次加载后,它将快速运行约3分钟,直到重新加载任何加载的过程为止。使用错误日志,我可以看到PHP立即加载了ini,并立即抱怨格式化错误等,但是php页面的第一行直到最后一秒才加载。 PHP xdebug似乎直到加载的最后一秒都没有记录任何内容。

当然,似乎有些事情正在尝试解决和超时,但是使用//192.168.1.x的效果并不比// fileshare更好。我已经遍历php.ini寻找罪魁祸首,但找不到它。任何帮助将不胜感激!

我搞砸的主要设置是下面这些设置,它们具有不同的组合和编写路径的方式。

cgi.force_redirect = 0
cgi.fix_pathinfo = 1
fastcgi.impersonate = 1
fastcgi.logging = 0
track_errors = Off

soap.wsdl_cache_dir = C:\inetpub\php_temp
error_log = "C:\inetpub\php_errors\php_error73.txt"
upload_tmp_dir = C:\inetpub\php_temp
sys_temp_dir = C:\inetpub\php_temp
session.save_path = C:\inetpub\php_temp

1 个答案:

答案 0 :(得分:0)

设法将其追溯到两个奇怪的罪魁祸首。

主要的超时问题是:

user_ini.filename =

默认情况下,它在php.ini中已被注释掉,因此删除半冒号禁用了该功能,该功能必须在文件共享中搜索ini文件时遇到问题。

5.x上的第二个问题似乎与启用旧的mysql插件有关。启用它似乎在本地磁盘上并不重要,但是启用它会导致文件共享出现问题。我在代码中使用mysqli,所以为我禁用它没有问题。