Azure Functions PHP系统找不到指定的文件

时间:2018-07-16 08:14:58

标签: php function azure

突然,我的所有PHP函数都停止在一个App Service使用计划中使用Azure函数。几天后,我运行PHP的其他Azure Function应用程序也发生了同样的情况。

完整错误消息:

[Info] Function started (Id=01a3bb97-a5a3-49d9-8a13-ac7330fcb9d0)
[Error] Exception while executing function: Functions.NAME. System: The system cannot find the file specified.
[Error] Function completed (Failure, Id=01a3bb97-a5a3-49d9-8a13-ac7330fcb9d0, Duration=120ms)

Node之类的其他语言似乎仍然有效。

1 个答案:

答案 0 :(得分:3)

在调查此问题时,我偶然发现文件夹D:\Program Files\FixPHP72x64的最后修改日期等于我的功能开始失败的时间范围。它包含一个修改了PHP运行时的脚本以及一个表明该脚本已运行的输出文件。

我联系了Microsoft Azure支持,他们承认该问题是由于他们所做的更改所致。幸运的是,由于PHP支持仍处于预览状态,因此他们确实认为该问题是回归的,因此他们将致力于解决方案。

在此之前,他们提供了一种临时解决方法:

在此遵循说明 https://github.com/Azure/azure-functions-host/wiki/Using-a-custom-version-of-Python 并复制 https://windows.php.net/downloads/releases/php-7.2.7-Win32-VC15-x64.zip 而不是将Python替换为site\tools

此解决方法会将php.ini配置重置为默认配置,因此您可能需要更改php.ini中的一些内容:

cd D:\home\site\tools
cp php.ini-production php.ini

然后对php.ini文件进行所需的更改。