我们有一个使用Redis PHP扩展的Azure App服务。 App Service和扩展都是PHP 5.6 / 32位。我们正在根据Azure documentation从settings.ini
加载PHP扩展程序。
extension = "d:\home\site\wwwroot\ext\php_redis.dll"
每隔几周,App Service将无法加载扩展程序并且网站会中断。我们在日志中收到以下错误:
[06-Nov-2016 17:25:42 America / Los_Angeles] PHP警告:PHP启动:无法加载动态库'd:\ home \ site \ wwwroot \ ext \ php_redis.dll' - %1不是一个有效的Win32应用程序。 在第0行的未知中
此问题将在几个小时之后自行消失,大概是当应用服务重新启动或迁移到另一个VM时。我们在不同的地区提供相同的“辅助”应用服务,从不会出现此问题。
有没有人见过这种零星的失败?如何预防?
答案 0 :(得分:1)
在某些意外情况下可能导致文件路径正确形成的错误消息,例如,存在文件存储故障转移,自动修复等时。
我们测试了从应用程序设置而不是php_redis.dll
安装PHP_INI_SCAN_DIR
,这样php.ini
将被修改为包含扩展路径。此更改可以缓解此问题。