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

从头搭建php环境-php8

时间:2023-03-29 15:42:45 PHP

1.下载1.https://www.php.net/distributions/php-8.0.0.tar.gz下载到本地,上传文件传输到/usr/local/src/2。wget-P/usr/local/src/https://www.php.net/distributions/php-8.0.0.tar.gz2.解压,编译,安装1.Unzip>cd/usr/local/src/>tarxzfphp-8.0.0.tar.gz>cdphp-8.0.02,配置编译参数,参考https://www.php.net/manual/zh...选择你需要的选项。/配置--prefix=/usr/local/php8--with-config-file-path=/usr/local/php8/etc--with-fpm-user=www--with-fpm-group=www--with-curl--with-openssl--with-mysqli--with-pdo-mysql--with-iconv--with-mhash--with-zlib--enable-mbstring--enable-gd--enable-gd-jis-conv--enable-sockets--enable-fpm--enable---enable-xml--enable-pdo--enable-cli--enable-pcntl--enable-soap--enable-opcache--enable-fileinfo--disable-rpath--enable-mysqlnd--with-zip--enable-simplexml--with-libxml--with-sqlite3--with-pdo-sqlite--enable-phar--enable-tokenizer--enable-cgi问题1:配置:错误:包要求(libxml-2.0>=2.9.0)是未满足:未找到“virtual:world”所需的包“libxml-2.0”如果您以非标准前缀安装软件,请考虑调整PKG_CONFIG_PATH环境变量。或者,您可以设置环境变量LIBXML_CFLAGS和LIBXML_LIBS以避免需要callpkg-config.Seethepkg-configmanpageformoredetails.问题1解决:>yuminstalllibxml2-devel问题2:configure:error:Packagerequirements(sqlite3>3.7.4)werenotmet:问题2解决:>yuminstallsqlite-devel问题3:configure:error:Packagerequirements(libcurl>=7.29.0)werenotmet:问题3解决:>yuminstalllibcurl-devel问题4:configure:error:Packagerequirements(libpng)werenotmet:问题4解决:>yuminstalllibpnglibpng-devel问题5:configure:error:Packagerequirements(oniguruma)werenotmet:问题5解决:>cd/usr/local/src/>wgethttp://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/x86_64/RPMS.classic/liboniguruma5-6.9.6-alt1.x86_64.rpm-Oliboniguruma5-6.9.6-alt1.x86_64.rpm>rpm-ivhliboniguruma5-6.9.6-alt1.x86_64.rpm>wgethttp://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/x86_64/RPMS.classic/liboniguruma-devel-6.9.6-alt1.x86_64.rpm-Oliboniguruma-devel-6.9.6-alt1.x86_64.rpm>rpmliboniguruma-devel-6.9.6-alt1.x86_64.rpmcli问题6:configure:error:Packagerequirements(libzip>=0.11libzip!=1.3.1libzip!=1.7.0)没有遇到:问题6解决:>yuminstalllibziplibzip-devel配置编译参数成功+------------------------------------------------------------------+|许可证:||该软件受PHP许可证的约束,可在||中获得在文件LICENSE中分发。通过继续此安装||过程,您受本许可协议条款的约束。||如果您不同意本许可的条款,您必须中止||安装过程到此为止。|+--------------------------------------------------------------------+谢谢youyouforusingPHP.3,compilethesourcecode>make-j2#这里是依赖系统的CPU核数来编译,可以在一定程度上提高性能。通常,芯数不应超过一半。4、安装makeinstall成功[root@54skyerphp-8.0.0]#makeinstallInstallingsharedextensions:/usr/local/php8/lib/php/extensions/no-debug-non-zts-20200930/InstallingPHPCLIbinary:/usr/local/php8/bin/安装PHPCLI手册页:/usr/local/php8/php/man/man1/安装PHPFPM二进制文件:/usr/local/php8/sbin/安装PHPFPMdefconfig:/usr/local/php8/etc/安装PHPFPM手册页:/usr/local/php8/php/man/man8/安装PHPFPM状态页:/usr/local/php8/php/php/fpm/安装phpdbg二进制文件:/usr/local/php8/bin/安装phpdbg手册页:/usr/local/php8/php/man/man1/安装PHPCGI二进制文件:/usr/local/php8/bin/安装PHPCGI手册页:/usr/local/php8/php/man/man1/安装构建环境:/usr/local/php8/lib/php/build/安装头文件s:/usr/local/php8/include/php/安装辅助程序:/usr/local/php8/bin/程序:phpize程序:php-config安装手册页:/usr/local/php8/php/man/man1/页面:phpize.1页面:php-config.1/usr/local/src/php-8.0.0/build/shtoolinstall-cext/phar/phar.phar/usr/local/php8/bin/phar.pharln-s-fphar.phar/usr/local/php8/bin/pharInstallingPDOheaders:/usr/local/php8/include/php/ext/pdo/5,添加环境变量>vim/etc/profile#最后文件的添加#PATH=$PATH:/usr/local/php8/bin/#exportPATH#:wq保存退出>source/etc/profile#立即生效配置>php-v#获取如下信息php-vPHP8.0.0(cli)(built:Dec15202002:46:59)(NTS)版权所有(c)ThePHPGroupZendEnginev4.0.0-dev,版权所有(c)ZendTechnologies6,获取默认配置//复制php.ini编译配置参数指定的目录php.ini在解压后的源码目录>cp/usr/local/src/php-8.0.0/php.ini-production/usr/local/php8/etc/php.ini//复制一份php-fpm配置模板文件到同一目录,方便备份修改>cp/usr/local/php8/etc/php-fpm.conf.default/usr/local/php8/etc/php-fpm.conf//复制一个复制php-fpm扩展配置模板文件到同一目录,方便备份修改>cp/usr/local/php8/etc/php-fpm.d/www.conf.default/usr/local/php8/etc/php-fpm.d/www.conf//将启动脚本复制到系统启动自动加载脚本目录。fpm/init.d.php-fpm在解压后的源码目录>cp/usr/local/src/php-8.0.0/sapi/fpm/init.d.php-fpm/etc/init.d/php-fpm7,可以执行开机自启动设置命令>chmod+x/etc/init.d/php-fpm#添加可执行权限检查自启动脚本>servicephp-fpmstart#验证服务启动>servicephp-fpmstop#检查服务是否关闭//一切正常提示>chkconfigphp-fpmon#设置开机自动执行php-fpm启动脚本>reboot#重启,ssh重连#重启后[root@54skyer~]#netstat-ntlpActiveInternet连接(仅服务器)ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programnametcp000.0.0.0:800.0.0.0:*LISTEN1097/nginx:mastertcp000.0.0.0:220.0.0.0:*监听1061/sshdtcp000.0.0.0:163790.0.0.0:*监听1090/redis服务器0tcp00127.0.0.1:90000.0.0.0:*监听1083/php-fpm:master7.附加说明关于配置文件的一些解释参考:https://www.cnblogs.com/xiaozong/p/5724984.htmlphp-fpm.conf是PHP-FPM专用的配置文件php.ini是所有php模式下必备的配置文件两者的区别在于php-fpm.conf是PHP-FPM进程管理器的配置文件,php.ini是PHP解析器的配置文件。一些PHP版本在配置文件路径下还有/fpm.d/www.conf配置文件。这是由php-fpm.conf配置的文件的扩展文件。可以打开php-fpm.conf文件查看;include=fpm.d/*.conf我们可以使用php-fpm.conf来配置慢日志我们可以开启慢日志功能slowlog=/usr/local/var/log/php-fpm.log.slowrequest_slowlog_timeout=5s