通过phpinfo(), 我们可以得到Azure Websites自带的PHP扩展库的列表。如果我们需要更多的扩展,需要通过如下步骤添加:
- 将
bin
目录添加到该应用程序的根目录(wwwroot) - 将扩展名为
.dll
的文件置于bin
目录中(例如,php_mongo.dll
)。确保扩展与默认版本的 PHP兼容,并且是 VC9 版本且与非线程安全 (nts) 兼容。 - 部署应用程序。
-
导航到 Windows Azure 门户中的网站的仪表板,并单击“配置”。
注意,如果添加了多个PHP扩展,请在这里用","分开。不要添加任何空格。例如下图:
-
点击页面底部的保存。
附录:
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管理界面也有这样的配置项:
值得注意的是,只有在“基本”或“标准”模式才可以使用64位。“免费”和“共享”模式并不支持。(参考:http://azure.microsoft.com/en-us/documentation/articles/web-sites-configure/?rnd=1 )