PHP 扩展在 Windows Azure 上不起作用


PHP Extension not working on Windows Azure

我刚刚建立了一个Windows Azure网站,我已经无法让它工作了。我有一个PHP网站,它可以在Windows 7 + MSSQL 2008的IIS本地工作。

所需的扩展名是pdo_xsl.dll,我已经使用FTP将其上传到wwwroot''bin文件夹。

接下来,我在此站点的"配置"选项卡中添加了"应用程序设置"字符串:PHP_EXTENSIONS = bin'php_xsl.dll

然后我保存并重新启动了网站,但仍然收到此错误:

PHP Fatal error:  Class 'XSLTprocessor' not found

虽然PHP信息说:

xsl
XSL                                         enabled
libxslt Version                             1.1.27
libxslt compiled against libxml Version     2.7.8
EXSLT                                       enabled
libexslt Version                            0.8.16 

我也使用 URL 方法:

http://website.com/index.php/module/action/value/

Windows Azure现在似乎将index.php视为目录而不是文件。由于我在整个脚本中使用此方法,并且它确实适用于 IIS7,因此我会说它可以在 Azure 的 IIS 上运行......

我已经自己解决了这个问题。解决方案实际上很简单...

在"应用设置"中添加以下内容:PHP_EXTENSIONS左侧。右侧的箱/php_xsl.dll。PHP_EXTENSIONS = 箱/php_xsl.dll

所以它需要正斜杠而不是反斜杠。

请注意,XSL dll 文件不适用于任何 PHP 版本。当前版本仅适用于 5.4,对于每个 php 版本,您都可以找到另一个 dll 文件。据我所知,5.5 没有它的 XSL dll。顺便说一句,就像pdo_sqlsrv.dll一样。