Azure - "PHP Warning: session_start(): Cannot find save handler 'wincache'" 已加载

Azure - "PHP Warning: session_start(): Cannot find save handler 'wincache'" after already being loaded

我在我的 Azure 应用程序服务上有一个 webjob 运行ning,它使用 session_start(); 命令启动。

起初 - 我遇到了这个错误:

PHP Warning: session_start(): Cannot find save handler 'wincache' - session startup failed in D:\local\Temp\jobs\triggered\myCron\a4ypumbv.4i2\MyCron\myCron.php on line 3

我最后做的是转到我的应用程序服务 -> 应用程序设置,然后我将 PHP_INI_SCAN_DIR 的自定义设置设置为 D:\home\site,如下所示:

然后,在 D:\home\site 目录中,我上传了一个名为 phpconfig.ini 的文件,并在里面放置了这个:

extension=D:\home\site\ext\php_wincache.dll

我去 https://www.iis.net/downloads/microsoft/wincache-extension 并从 SourceForge 下载了合适的 WinCache 版本 - WinCache 1.3 for PHP 5.6。解压缩 .exe 文件后,我将 php_wincache.dll 文件复制到我的 D:\home\site\ext 文件夹中。

现在,当我 运行 webjob 时,我得到了同样的错误,但在它说 wincache 文件已经加载之前还有另一条错误消息:

PHP Warning: Module 'wincache' already loaded in Unknown on line 0

PHP Warning: session_start(): Cannot find save handler 'wincache' - session startup failed in D:\local\Temp\jobs\triggered\myCron\a4ypumbv.4i2\MyCron\myCron.php on line 3

我怎样才能让这些警告完全消失?有人 运行 遇到过同样的问题吗?

wincache 已在 Azure 应用服务中安装并启用。

在这种情况下,您不再需要手动调用 session_start(),Azure 会自动在每个页面上启动会话。