Windows Server 2008 R2x64 IIS7+PHP5.6 错误 500.0

2022-12-15 12:36:43 浏览数 (1)

这两天准备升级一个网站项目,新项目基于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末尾加上

代码语言:javascript复制
[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=

一切都是那么熟悉,那么顺畅

写上一个测试文档

代码语言:javascript复制
<?php
phpinfo();
?>

诶,直接500.0错误,网站查了一圈资料,没找到一个正确的说法,最后爬墙才好不容易找到一位国外的兄弟跟我遇到了同样的事

我将设置过程写下来,希望能帮助到那些一样在迷惑中挣扎同胞们。

解决方法:

第一步:打开Internet信息服务(IIS)管理器,在左侧的树形列表找到“应用程序池”

第二步:在右侧的列表中右击“您的程序池”弹出菜单,选择“高级设置”,弹出“高级设置”对话框

第三步:找到“标识”选项,点击右侧的方形按钮,弹出“应用程序标识”对话框中的“内置账户”的下拉菜单中选择“LocalSystem”,然后重启IIS服务器,至此,这个问题就彻底解决了。

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:

原文出处:Yiiven https://cloud.tencent.com/developer/article/2193097

0 人点赞