在Azure App Service中加载PHP扩展时出现偶然错误

时间:2016-11-07 16:27:38

标签: php azure azure-web-sites

我们有一个使用Redis PHP扩展的Azure App服务。 App Service和扩展都是PHP 5.6 / 32位。我们正在根据Azure documentationsettings.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时。我们在不同的地区提供相同的“辅助”应用服务,从不会出现此问题。

有没有人见过这种零星的失败?如何预防?

1 个答案:

答案 0 :(得分:1)

在某些意外情况下可能导致文件路径正确形成的错误消息,例如,存在文件存储故障转移,自动修复等时。 我们测试了从应用程序设置而不是php_redis.dll安装PHP_INI_SCAN_DIR,这样php.ini将被修改为包含扩展路径。此更改可以缓解此问题。