PHP:CentOS Linux环境下源码编译安装PHP8.0

阅读: 评论:0

PHP:CentOS Linux环境下源码编译安装PHP8.0

PHP:CentOS Linux环境下源码编译安装PHP8.0

系统环境

cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

查看可用版本

/

预先安装必要的依赖

yum install -y 
wget 
gcc 
gcc-c++ 
autoconf 
automake 
libtool 
make 
libxml2 
libxml2-devel 
openssl 
openssl-devel 
sqlite-devel

1、下载解压

wget .0. && 
tar -zxvf php-8.0.  && 
cd php-8.0.24

2、设置安装参数

我们可能会安装多个PHP版本,所以提前规划好安装目录

例如:

所有的PHP解释器都安装到一个PHP目录下,按照版本取划分目录

/usr/local/php/8.0.24
/usr/local/php/7.1.0

configure

# 可查看帮助
./configure --help

配置

./configure --prefix=/usr/local/php/8.0.24 
--with-config-file-path=/usr/local/php/8.0.24/etc 
--enable-fpm 
--with-fpm-user=www 
--with-fpm-group=www 
--enable-mysqlnd 
--with-mysqli=mysqlnd 
--with-pdo-mysql=mysqlnd 
--enable-mysqlnd-compression-support 
--with-zlib 
--enable-xml 
--disable-rpath 
--enable-bcmath 
--enable-shmop 
--enable-sysvsem 
--with-curl 
--enable-mbregex 
--enable-mbstring 
--enable-intl 
--enable-ftp 
--enable-gd-jis-conv 
--with-openssl 
--with-mhash 
--enable-pcntl 
--enable-sockets 
--enable-soap 
--with-gettext 
--enable-fileinfo 
--enable-opcache 
--with-pear 
--with-ldap=shared 
--without-gdbm

安装

# 执行安装
make && make install# 测试
make test

创建快捷方式

# 创建软链接
ln -s /usr/local/php/8.0.24/bin/php /usr/local/bin/php8# 测试
php8 -v
PHP 8.0.24 (cli) (built: Nov  4 2022 14:13:22) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.24, Copyright (c) Zend Technologies

修改配置文件

# 源码包 php-8.0.24
cp php.ini-production /usr/local/php/8.0.24/etccd /usr/local/php/8.0.24/etc
cp php.ini-production php.inicd /usr/local/php/8.0.24/etc
f.fcd /usr/local/php/8.0.24/etc/php-fpm.d
f.f# 修改f文件 
# 监听方式为sock
;listen = 127.0.0.1:9000
listen = php-cgi.socklisten.owner = www
up = www
de = 0666

开机自启

# 源码包 php-8.0.24/sapi/fpm
cp php-fpm.service /usr/lib/systemd/system/php-fpm-8.0.24.service# 启动服务
systemctl enable supervisord# 验证一下是否为开机启动
systemctl is-enabled supervisord systemctl start supervisordsystemctl status supervisordsystemctl stop supervisord

Nginx 部署 Laravel

server {listen 80;listen [::]:80;server_name example;root /srv/example/public;add_header X-Frame-Options "SAMEORIGIN";add_header X-Content-Type-Options "nosniff";index index.php;charset utf-8;location / {try_files $uri $uri/ /index.php?$query_string;}location = /favicon.ico { access_log off; log_not_found off; }location = /  { access_log off; log_not_found off; }error_page 404 /index.php;location ~ .php$ {fastcgi_pass unix:/usr/local/php/8.0.24/php-fpm.sock;fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;include fastcgi_params;}location ~ /.(?!well-known).* {deny all;}
}

需要给 php-fpm.sock 访问权限

chown www:www /usr/local/php/8.0.24/php-fpm.sock

报错及解决

报错1

configure: error: Cannot find ldap libraries in /usr/lib
cp -frp /usr/lib64/libldap* /usr/lib/

报错2

make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1
--disable-fileinfo

或者

内存不够使用,可以先使用交换分区来解决

dd if=/dev/zero of=/swapfile bs=64M count=16
mkswap /swapfile
swapon /swapfile

安装完成后取消

swapoff /swapfile
rm /swapfile

参考

  • Unix 系统下的 Nginx 1.4.x
  • centos7 源码编译安装php7.4
  • centos7.9编译安装nginx-1.22.0,php-7.4.30,php-8.0.23
    PHP8.0环境详细安装教程

本文发布于:2024-01-31 09:13:26,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170666360727448.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:源码   环境   CentOS   PHP   Linux
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23