当前位置: 首页 > 后端技术 > PHP

PHP8.0源码编译安装&JIT尝鲜

时间:2023-03-29 20:09:03 PHP

简介PHP8.0Alpha1已于2020年6月25日发布,今天给大家分享最精简的PHP8源码编译安装方法,赶快试试新的PHP8.0功能JIT。这是一个通用的PHP源码编译安装方法,其他PHP版本的编译安装方法类似。PHP8.0源码编译安装&JIT尝鲜操作系统:CentOSLinuxrelease7.4.1708(Core)GCC:4.8.520150623(RedHat4.8.5-28)PHP版本:php-8.0.0alpha11。下载页面https://downloads.php.net/~pollita/2。下载PHP8.0$wgethttps://downloads.php.net/~pollita/php-8.0.0alpha1.tar.gz3。解压$tar-zxvfphp-8.0.0alpha1。tar.gz4.新建安装目录由于本机上存在多个PHP版本并存,因此需要新建一个有意义的目录,一个让你不假思索就知道PHP版本的目录名。$mkdir-p/usr/local/php804.configureoptions这是配置选项的简化版,更丰富的PHP配置选项说明:https://www.php.net/manual/en/configure.about.php$cdphp-8.0.0alpha1$./configure--prefix=/usr/local/php80/--enable-debug--enable-fpm--with-config-file-path=/usr/local/php80/etc/--with-config-file-scan-dir=/usr/local/php80/etc/php.d/如果在configure过程中遇到提示configure:error,请注意下面的错误详情。下面总结了配置过程中出现的错误情况的关键信息。对于其他未列出的错误情况,解决方法相同:Error#1:configure:error:Packagerequirements(libxml-2.0>=2.7.6)werenotmet:Nopackage'libxml-2.0'found解决方法:yuminstalllibxml2-devel.x86_64Error#2:configure:error:Packagerequirements(sqlite3>3.7.4)werenotmet:Nopackage'sqlite3'found解决方法:yuminstallsqlite-devel.x86_64如果看到下面的信息,说明配置步骤已成功^_^。5.编译安装$makemake阶段消耗的时间与机器配置有关。如果看到如下信息,说明make阶段已经完成。构建完成。不要忘记运行'maketest'。maketest由于是尝鲜,所以省略了这一步。$使安装退出0;-v-d/home/fanjiapeng/php-8.0.0alpha1/Zend/zend_ini_parser.y-o/home/fanjiapeng/php-8.0.0alpha1/Zend/zend_ini_parser.c安装共享扩展:/usr/local/php80/lib/php/extensions/debug-non-zts-20190128/安装PHPCLI二进制文件:/usr/local/php80/bin/安装PHPCLI手册页:/usr/local/php80/php/man/man1/安装PHPFPM二进制文件:/usr/local/php80/sbin/安装PHPFPMdefconfig:/usr/local/php80/etc/安装PHPFPM手册页:/usr/local/php80/php/man/man8/安装PHPFPM状态页:/usr/local/php80/php/php/fpm/安装phpdbg二进制文件:/usr/local/php80/bin/安装phpdbg手册页:/usr/local/php80/php/man/man1/安装PHPCGI二进制文件:/usr/local/php80/bin/安装PHPCGI手册页:/usr/local/php80/php/man/man1/安装构建环境:/usr/local/php80/lib/php/build/安装头文件:/usr/local/php80/include/php/我安装帮助程序:/usr/local/php80/bin/程序:phpize程序:php-config安装手册页:/usr/local/php80/php/man/man1/页面:phpize.1页面:php-config.1/home/fanjiapeng/php-8.0.0alpha1/build/shtoolinstall-cext/phar/phar.phar/usr/local/php80/bin/phar.pharln-s-fphar.phar/usr/local/php80/bin/phar安装PDO标头:/usr/local/php80/include/php/ext/pdo/6。验证PHP$/usr/local/php80/bin/php-vPHP8.0.0alpha1(cli)(built:Jul2202015:47:26)(NTSDEBUG)Copyright(c)ThePHPGroupZendEnginev4.0.0-dev,版权所有(c)ZendTechnologies7。环境配置$ln-s/usr/local/php80/bin/php/usr/bin/php80$cpphp.ini-development/usr/local/php80/etc/php.ini$cp/usr/local/php80/etc/php-fpm.conf.default/usr/local/php80/etc/php-fpm.conf$cp/usr/local/php80/etc/php-fpm.d/www.conf.default/usr/local/php80/etc/php-fpm.d/www.conf$cpsapi/fpm/init.d.php-fpm/etc/init.d/php80-fpm$chmod+x/etc/init.d/php80-fpm8.验证配置路径验证自定义配置项是否生效:--with-config-file-path,--with-config-file-scan-dir$php80--iniConfigurationFile(php.ini)Path:/usr/local/php80/etc/LoadedConfigurationFile:/usr/local/php80/etc/php.iniScanforadditional.inifilesin:/usr/local/php80/etc/php.d/Additional.inifilesparsed:(none)9.启动FPM$/etc/init.d/php80-fpmstartStartingphp-fpmdone10。验证FPM$psaux|grepphp-fpmroot268760.00.0520842828?/usr/local/php80/etc/php-fpm.conf)没有人268770.00.0520843648?SJul020:00php-fpm:池www没有人268780.00.0520843624?$/etc/init.d/php80-fpm-hUsage:/etc/init.d/php80-fpm{start|stop|force-quit|restart|reload|status|configtest}$/etc/init.d/php80-fpmstatusphp-fpm(pid26876)isrunning...$/etc/init.d/php80-fpmconfigtest[2020年7月6日11:06:42]注意:配置文件/usr/local/php80/etc/php-fpm.conf测试成功Nginx配置细节这里省略,主要是快速测试安装的PHP-FPM模式是否可用//index.php