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。