我尝试按照Using Custom PHP Extensions in Windows Azure Web Sites下的说明启用在Azure网站中运行的PHP的ionCube扩展。这是我做的:
ioncube_loader_win_5.3.dll
到该目录。PHP_EXTENSIONS
,其值为bin/ioncube_loader_win_5.3.dll
。PHP_EXTENSIONS
= bin/ioncube_loader_win_5.3.dll
。它还包含APPSETTING_PHP_EXTENSIONS
= bin/ioncube_loader_win_5.3.dll
。Azure上是否存在我忘记或不支持ioncube的内容?我是否正确设置了目录?
我也以同样的方式尝试了Zend Guard Loader扩展(ZendLoader.dll)。我没有收到错误消息,但扩展名也没有显示在phpinfo()中。
答案 0 :(得分:2)
答案 1 :(得分:1)
您应不将模块放在ftp站点的根目录中。 DLL模块必须位于 APPLICATION ROOT 下面的文件夹中,即site/wwwroot/
因此,您必须创建site/wwwroot/bin
或任何您的选择(即site/wwwroot/phpext
),然后将PHP_EXTENSIONS再次映射到bin/ioncube...
(或phpext/iocube...
),无论您的文件夹名称是什么 site/wwwroot/
!
但是,当启用上述模块时,我无法运行任何php页面。我不知道这是因为我的文件不是ionCube加密的,还是因为ionCube本身存在一些问题。因此,如果你有一个ionCube加密文件,你就有机会进行测试。
答案 2 :(得分:1)
ionCube是一个Zend扩展,因此根据answer on windows azure forums:
正确的方法是创建 / site / wwwroot / bin 目录并上传 ioncube_loader_win_5.4.dll ,然后在门户网站App Settings下添加一个 PHP_ZENDEXTENSIONS 设置,其中 bin \ ioncube_loader_win_5.4.dll 为其值。
我确认,但我的测试是在/site/phpext
中使用..\phpext\ioncube_loader_win_5.4.dll
上的应用设置完成的。