我们有一个使用Redis PHP扩展的Azure应用服务。应用服务和扩展都是PHP 5.6/32位。我们正在按照Azure文档从settings.ini
加载PHP扩展。
extension = "d:'home'site'wwwroot'ext'php_redis.dll"
每隔几周应用程序服务将无法加载扩展和站点中断。我们在日志中收到以下错误:
[06-11-2016 17:25:42 America/los - angeles] PHP警告:PHP启动:无法加载动态库'd:'home'site'wwwroot'ext'php_redis.dll' - %1不是有效的Win32应用程序。
这个问题会在几个小时后自行消失,可能是当应用程序服务重启或迁移到另一个VM时。我们在不同地区有一个相同的"二级"应用服务,从未出现过这个问题。
有人看到这种零星的故障吗?如何预防?
在文件路径正确形成的某些意外情况下可能引起的错误消息,例如,当存在文件存储故障转移、自动修复等时。我们已经测试了从应用程序设置安装php_redis.dll
而不是PHP_INI_SCAN_DIR
,这样php.ini
将被修改为包含扩展路径。