折雨的天空
apache2.4安装配置php8需要注意的地方,以及报错:Can't locate API module structure `php8_module' in file
2020-11-27 我好笨


PHP8已经正式发布了,今晚配置了一下,以下是配置成功的截图。



QQ图片20201127230534.jpg







需要总结两点经验教训:



PHP8是VC16的环境,所以需要先安装VC16的环境,也叫vc++2019。中途遇到错误:



Apache24/conf/httpd.conf: Can't locate API module structure `php8_module' in file



VC14的apache会报错:



Apache24/conf/httpd.conf: Cannot load E:/www/php8/php7apache2_4.dll into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3 Note the errors or messages above, and press the <ESC> key to exit. 24...



以下是整个注意事项及解决方案:






[#zeyu#]


1、如果你原来的apache不是vc16环境编译的,需要重新下载一个vc16环境的apache.



下载地址:https://www.apachelounge.com/download/



注意,你PHP是x86的,就选x86的,我配置的x86的。



2、配置Apache中不能再像php7那样引入dll了。这里是个大坑



原来PHP7是:


LoadModule php7_module "E:/www/php7.4.1/php7apache2_4.dll"

PHPIniDir "E:/www/php7.4.1/"

PHP8里面,Apache只能是:
LoadModule php_module "E:/www/php8/php8apache2_4.dll"
PHPIniDir "E:/www/php8/"
AddType application/x-httpd-php .php .phtml



主要就是这个loadmodule,否则报错: can't locate api module










升级Apache还需要注意小问题:https://www.144d.com/post-630.html 模块的开启问题。



最关键的就是上面这个LoadModule了。



参考地址:https://www.apachelounge.com/viewtopic.php?p=38433


[/#zeyu#]






以上就是整个配置过程,测试时,redis扩展还没有支持PHP8的。其他一切正常,包括curl。





发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容