在Azure Websites中添加PHP扩展(Extension)

通过phpinfo(),  我们可以得到Azure Websites自带的PHP扩展库的列表。如果我们需要更多的扩展,需要通过如下步骤添加: 

  1. bin 目录添加到该应用程序的根目录(wwwroot)
  2. 将扩展名为 .dll 的文件置于 bin 目录中(例如,php_mongo.dll)。确保扩展与默认版本的 PHP兼容,并且是 VC9 版本且与非线程安全 (nts) 兼容。
  3. 部署应用程序。
  4. 导航到 Windows Azure 门户中的网站的仪表板,并单击“配置”。
    在Azure Websites中添加PHP扩展(Extension)_第1张图片

    注意,如果添加了多个PHP扩展,请在这里用","分开。不要添加任何空格。例如下图:
    在Azure Websites中添加PHP扩展(Extension)_第2张图片

  5. 点击页面底部的保存。

附录:

1. 为什么在Azure Websites中要采用NTS版本的PHP模块?

Azure Websites运行在Windows操作系统中,IIS和FastCGI扩展单独管理Web请求,并不需要由PHP引擎在各个线程之间协调管理Web请求。采用NTS版本在Azure Websites中会得到更好的性能。


故障排除:

1. 扩展加进去了,但是无法使用。遇到类似这样的错误信息:

PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\DWASFiles\Sites\shirley-test\VirtualDirectory0\site\wwwroot\bin\php_redis.dll' - %1 is not a valid Win32 application.

遇到这种情况,需要确认你使用的PHP扩展的架构(x64或者x86)是否和当前的PHP运行平台一致。可以通过phpinfo()查看当前使用的平台。在Azure管理界面也有这样的配置项:

在Azure Websites中添加PHP扩展(Extension)_第3张图片

值得注意的是,只有在“基本”或“标准”模式才可以使用64位。“免费”和“共享”模式并不支持。(参考:http://azure.microsoft.com/en-us/documentation/articles/web-sites-configure/?rnd=1 )







你可能感兴趣的:(Azure,php,扩展,Windows,Azure最佳实践)