这两天准备升级一个网站项目,新项目基于PHP并进行了ZendGuard加密,需要在PHP5.6版本中运行
而客户之前的运行环境是php5.2~5.4,那好,再新建一个PHP版本不就完事了吗!!!
于是立马动手,先去PHP官网下载php-5.6.31-nts-Win32-VC11-x86(非线程安全)
为什么要下载NTS版本?
因为服务器是IIS呀,哈哈哈!!
既然系统是x64为什么不下载64位PHP程序而要下载32位PHP程序?
只有一个原因,Zend Guard Loader for PHP5.6 只有x86版本,这个回答是不是很吃鸡,是不是很惊喜。
再下载zend-loader-php5.6-windows-x86。
1.解压php-5.6.31-nts-Win32-VC11-x86
2.解压zend-loader-php5.6-windows-x86
3.修改php.ini,配置方法自行搜索,新手可以参考心存善念的博客文章
4.安装zendloader
在PHP.ini末尾加上
[Zend Guard]
zend_extension=X:/xxx/ZendLoader.dll
zend_extension=X:/xxx/php_opcache.dll
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
一切都是那么熟悉,那么顺畅
写上一个测试文档
<?php phpinfo(); ?>
诶,直接500.0错误,网站查了一圈资料,没找到一个正确的说法,最后爬墙才好不容易找到一位国外的兄弟跟我遇到了同样的事
我将设置过程写下来,希望能帮助到那些一样在迷惑中挣扎同胞们。
解决方法:
第一步:打开Internet信息服务(IIS)管理器,在左侧的树形列表找到“应用程序池”
第二步:在右侧的列表中右击“您的程序池”弹出菜单,选择“高级设置”,弹出“高级设置”对话框
第三步:找到“标识”选项,点击右侧的方形按钮,弹出“应用程序标识”对话框中的“内置账户”的下拉菜单中选择“LocalSystem”,然后重启IIS服务器,至此,这个问题就彻底解决了。