使用2号地址下载PHP的时候需要注意下载版本区分《线程安全》和《非线程安全》的区别;
不同之处:我发现一点 如果PHP压缩包中没有php7apache2_4.dll,说明下载的是non thread safe版本的php,也就是非线程安全版本的php,需要,不能将PHP作为mod_php在Apache中以模块的形式运行。那么就用启动不了。
注释: 将PHP作为CGI程序运行意思讲解链接:https://www.51-n.com/t-4335-1-1.html
//下午半天都用错PHP版本包了,下载的是线程安全的里面没有php7apache2_4.dll这个文件
提要:操作升级加版本之前先把wamp服务停止退出
步骤1:从官网下载一个PHP7.2.11 将下载好的压缩包解压到wamp/bin/php目录下
步骤2:将原来版本的php5.6.16文件夹中的,php.ini,phpForApache.ini,wampserver.conf文件复制到php7.2.11文件夹中。
步骤3:修改复制过来的PHP7.2.11文件夹内的php.ini,phpForApache.ini 两个文件,将两个文件中所有的php5.6.16替换成php7.2.11。
步骤4: 修改wampserver.conf文件, 如果你的apache版本是 2.2X 那么修改 $phpConf['apache']['2.2']['LoadModuleName'] = 'php5_module'; $phpConf['apache']['2.2']['LoadModuleFile'] = 'php5apache2_2.dll';
Ϊ $phpConf['apache']['2.2']['LoadModuleName'] = 'php7_module'; $phpConf['apache']['2.2']['LoadModuleFile'] = 'php7apache2_2.dll';
如果你的apache版本是 2.4 那么修改 $phpConf['apache']['2.4']['LoadModuleName'] = 'php5_module'; $phpConf['apache']['2.4']['LoadModuleFile'] = 'php5apache2_4.dll';
Ϊ $phpConf['apache']['2.4']['LoadModuleName'] = 'php7_module'; $phpConf['apache']['2.4']['LoadModuleFile'] = 'php7apache2_4.dll';
步骤5:
刚修改的phpForApache.ini文件中,有一处需要下载文件, zend_extension ="c:/wamp64/bin/php/php7.2.11/zend_ext/php_xdebug-2.4.1-5.6-vc11-x86_64.dll"
这个zend_ext目录和这个dll文件都是不存在的,需要下载,下载链接 https://xdebug.org/download.php,
例如下载了一个php_xdebug-2.6.0-7.0-vc14-x86_64.dll的文件,注意不选择nts的文件,将代码修改为如下: zend_extension ="c:/wamp64/bin/php/php7.2.11/zend_ext/php_xdebug-2.6.0-7.0-vc14-x86_64.dll"
步骤6:
在 wamp/bin/apache/apache2.4.9/bin 目录下,找到 php.ini 文件,将其删除。
步骤7:
在wamp/bin/apache/apache2.4.9/conf 目录下,找到httpd.conf 文件
查找LoadModule, 将其改为。
LoadModule php7_module “D:/wamp/bin/php/php7.2.11/php7apache2_4.dll”
这一步在wamp左键->PHP->Version->在版本列表中选择php7.2.11后, httpd.conf 文件会自动更改,也可不手动修改。
步骤8:
最后,在PHP7.2.11文件夹内的php.ini 文件中
注释掉 这句话 ;extension=php_mysql.dll
重启wamp 可以了。//我重启的时候重启前两次不行,第三次重启的时候先勾选5.6版本的PHP ,在网页上localhost 运行,然后勾选PHP7.0 在网页上运行,再次去看PHP7.2的时候就可以勾选了,然后再网页上也可以正常运行了。
在做这些期间遇见过报错
回答:检查php.ini中开启的扩展,是否有开启了但文件不存在的扩展,或者开启了已经被PHP弃用的扩展。 1. extension=php_mysql.dll //在其前面加 ;
PHP7已经移除对mysql扩展的支持,在PHP7中开启mysql扩展会导致Apache无法启动。 1. extension=php_rar.dll //在其前面加 ;
假如在php.ini中指定了要开启WinRAR扩展,但是在ext目录中文件php_rar.dll并不存在,同样也会导致Apache服务无法启动