PHP7.4之编译安装

CentOS 7安装php7.4 阅读详情

  虽然之前写过很多编译安装PHP的文章, 但是隔段时间还是会重新安装一些PHP的版本,再次记录一下

1. 下载安装编译工具

yum groupinstall 'Development Tools'

2.安装依赖包

yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses curl gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel expat-devel xmlrpc-c xmlrpc-c-devel libicu-devel libmcrypt-devel libmemcached-devel

3. 下载并解压PHP7.4

wget http://mirrors.sohu.com/php/php-7.4.0.tar.gz
# 解压
tar -zxvf php-7.4.0.tar.gz

cd php-7.4.0

4. 新增用户和用户组

groupadd www

useradd -g www www

5. 生成编译文件

复制代码

./configure \ 
--prefix=/usr/local/php \ 
--with-config-file-path=/etc \ 
--with-fpm-user=www \ 
--with-fpm-group=www \  
--with-curl \ 
--with-freetype-dir \ 
--enable-gd \ 
--with-gettext \  
--with-iconv-dir \ 
--with-kerberos \ 
--with-libdir=lib64 \ 
--with-libxml-dir \ 
--with-mysqli \ 
--with-openssl \ 
--with-pcre-regex \ 
--with-pdo-mysql \ 
--with-pdo-sqlite \ 
--with-pear \ 
--with-png-dir \ 
--with-jpeg-dir \ 
--with-xmlrpc \ 
--with-xsl \ 
--with-zlib \ 
--with-bz2 \ 
--with-mhash \ 
--enable-fpm \ 
--enable-bcmath \ 
--enable-libxml \ 
--enable-inline-optimization \ 
--enable-mbregex \ 
--enable-mbstring \ 
--enable-opcache \ 
--enable-pcntl \ 
--enable-shmop \ 
--enable-soap \ 
--enable-sockets \ 
--enable-sysvsem \ 
--enable-sysvshm \ 
--enable-xml \  
--with-zip \ 
--enable-fpm

复制代码

注意:有些编译项需要进行修改可以通过./configure --help  查看具体的项

复制代码

./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-fpm-user=www --with-fpm-group=www --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip --enable-fpm

复制代码

6. 编译安装

make  && make install -j 2

  -j 指定执行的进程数

7.安装成功之后,设置环境变量

复制代码

vim /etc/profile

添加
PATH=$PATH:/usr/lcoal/php74/bin
export PATH


立即生效
source  /etc/profile

复制代码

8. 测试查看PHP版本

复制代码

php -v


创建php-fpm软链接
ln -s /usr/local/php74/sbin/php-fpm  /usr/local/php74/bin/php-fpm

php-fpm -v

复制代码

9.配置

复制代码

#将源码中的配置文件复制到PHP的配置文件中

cp php.ini-production /usr/local/php74/etc/php.ini

#将PHP目录中的php-fpm配置文件进行修改
cp php-fpm.conf.default php-fpm.conf

cp php-fpm.d/www.conf.default php-fpm.d/www.conf

复制代码

10.添加php-fpm启动项

复制代码

#将PHP源码中的php-fpm启动文件加入到服务自启动文件中
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

#赋予执行权限
chmod +x /etc/init.d/php-fpm

#启动php-fpm
/etc/init.d/php-fpm  start

复制代码

 11.php-fpm服务化

 centos7 已经使用systemctl来进行服务的管理,这里我们也使用systemctl来对php-fpm进行管理

复制代码

修改php-fpm.conf文件
打开pid=/var/run/php-fpm.pid

cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/php-fpm74.service

ln -s /usr/lib/systemd/system/php-fpm74.service /usr/lib/systemd/system/php-fpm.service

systemctl daemon-reload

systemctl enable php-fpm

复制代码

php-fpm.service文件内容:

复制代码

[Unit]
Description=The PHP FastCGI Process Manager
After=network.target

[Service]
Type=simple
PIDFile=/usr/local/php74/var/run/php-fpm.pid
ExecStart=/usr/local/php74/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php74/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

PrivateTmp=true
[Install]
WantedBy=multi-user.target

复制代码

停止之前启动的php-fpm, 使用systemctl启动php-fpm

systemctl start php-fpm.service

12.在使用的时候发现zip扩展没有安装,现在需要添加扩展 

在PHP源代码包中,我的源码路径:/opt/php-7.4.0/, 需要进去到zip扩展包中cd  /opt/php-7.4.0/ext/zip

复制代码

#生成配置文件
phpize

./configure --with-php-config=/usr/local/php74/bin/php-config --with-zip

make && make install

在配置文件中开启扩展即可 php.ini

复制代码

常见错误:

  1. error: Package requirements (sqlite3 > 3.7.4) were not met

yum install libsqlite3x-devel -y

  2.error: Package requirements (oniguruma) were not met

yum install oniguruma-devel -y

  3. 访问nginx无法解析PHP文件

复制代码

server {
        listen       8081;
        server_name  localhost; 
        index        index.html index.php;
        root         /data/www;
        
        access_log  /data/logs/www.access.log  main;
        error_log   /data/logs/www.error.log;
        location / {
            if (!-e $request_filename) {
                rewrite ^/(.*) /index.php last;
            }
        }
        
        location ~ .*\.(php|php5)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;  # 这里注意需要进行修改
            include        fastcgi_params;
        }
        
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

复制代码

   3. configure: error: Package requirements (libzip >= 0.11) were not met: No package 'libzip'

复制代码

libzip  版本太低了
编译安装,指定PKG_CONFIG_PATH,上面报错中其实有提示信息,让我们考虑调整PKG_CONFIG_PATH环境变量。
下面是详细步骤:

 # 先卸载已有
yum remove libzip
# 然后安装
wget https://libzip.org/download/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0
./configure
make && make install

装完了之后找一下/usr/local/lib下有没有pkgconfig目录,有的话执行命令export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"指定PKG_CONFIG_PATH。
到这里问题解决!

复制代码

    4. 安装扩展的时候,

Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment

安装autoconf

yum install -y autoconf
编译安装php7.4的一些踩坑和探索 服务器数据迁移时踩的坑。浅浅记录一下踩坑过程,以防未来再度踩坑。事情是这样的。先前的云服务器快到期了,由于续费很贵,于是我换了一家服务商,最近在断断续续利用闲暇时间做数据迁移。在这个服务器上我有一个dokuwiki的页面,平时用来存放一些笔记和日记的内容,但是迁移到新机器以后,我发现dokuwiki的页面显示出了些问题,所有页面元素渲染全部不正确。 阅读详情

相关推荐

PHP7.4编译安装

Linux Centos7 编译安装 php7.4.29

pengchengxue110的专栏 1809

php7.4编译安装,及重要的拓展库

php7.4编译安装,及重要的拓展库。

qq_39636712的博客 5450

centos7 编译安装php7.4.7

1,先删除所有的php yum remove php 入股之前已经编译安装了其他版本的php rm -rf /usr/local/php /bin/php /usr/local/sbin/php-fpm /usr/local/bin/php /usr/local/bin/pear /usr/local/bin/peardev /usr/local/bin/pecl /usr/local/bin/phar /usr/local/bin/phar.phar /usr/local/bin/php-cg.

梦启未来 3970

Window10安装PHP7.4

首先需要下载PHP 7安装包,可以从PHP官网(https://www.php.net/downloads.php)或者Windows下的PHP官网(http://windows.php.net/download/)下载Windows版本的PHP 7安装包。根据自己的系统架构(32位或64位)选择下载,下载后解压到一个路径下。在PHP目录中找到php.ini-development文件,将其重命名为php.ini,并且进行修改。将PHP安装的路径(比如C:\php)添加到环境变量中。

南巷清风 7889

Ubuntu 编译安装 php7.4

安装依赖 sudo apt update sudo apt install gcc -y && sudo apt install make -y && sudo apt install openssl -y && sudo apt install curl -y && sudo apt install libbz2-dev -y &...

Dev.QM的博客 4010

centos7.6源码编译安装php7.4

首先安装依赖 yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel libzip-devel pcre-devel 下载php7.4压缩包 https://www.php.net/distrib...

php_dandan的博客 3491

deepin 编译安装 php7.4

deepin 编译安装 php7.4 扩展的安装 基础的扩展包sudo apt-get install -y gcc autoconf automake libtool cmake m4 bison re2c 依赖的扩展包sudo apt-get -y install libwebp-dev libjpeg-dev libxpm-dev libzip-dev libxslt1-dev libmcrypt-dev libsqlite3-dev libcurl4-openssl-dev libssl-d

javaldk的专栏 784

linux编译安装php7.4及扩展

一、获取包并解压 官网下载 www.php.net/docs.php 或者 wget https://www.php.net/distributions/php-7.4.14.tar.gz tar -zxvf php-7.4.14.tar.gz 二、编译安装 //个人编译./configure --prefix=/opt/apps/php-7.4 --enable-fpm ‘–with-config-file-path=/opt/apps/php-7.4/etc’ ‘–with-confi

Martian 2948

centos7 源码编译安装php7.4

很多时候可能会遇到需要手动源码安装软件的时候,所以自己实践了一把,并且把安装过程中遇到的问题,以及在网上找到的解决办法(实测有效)都记录下来,方便日后学习实践。永久性设置,只针对一个用户,需要重启生效或使用source命令,优先级高于2,将方式1的导出操作添加到文件 ~/.bashrc的末尾。永久性设置,对所有用户有效,需要重启生效或使用source命令,将上一种方式的导出操作添加到文件/etc/profile的末尾。一次性的设置,只对当前会话有效,当注销时,刚刚设置的PATH就会失效。

co1590的博客 4220

debian 编译安装php7.4

1. 安装基础依赖apt-get install libxml2-dev libssl-dev libbz2-dev libjpeg-dev libpng-dev libxpm-dev libfreetype6-dev libgmp-dev libgmp3-dev libmcrypt-dev libpspell-dev librecode-dev libcurl4-gnutls-dev libg...

qq_34629975的博客 2160

centos7源码编译php,CentOS7下源码编译安装PHP7.4

操作系统:CentOS7安装版本:PHP7.41)到PHP官网下载PHP7.4,并且解压cd /home/install/phpwget https://www.php.net/distributions/php-7.4.12.tar.gztar -zxvf php-7.4.12.tar.gz1.png2)切换到解压目录编译配置#更多可以在 ./configure --help 去查看./con...

weixin_30191947的博客 808

linux 编译安装PHP7.4.9

原文链接:https://www.cpweb.top/569 1、安装php依赖 [root@web01 ~]# yum install gcc gcc-c++ libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libm...

supahero的博客 1863

PHP7.4.6源码编译安装

php源码编译安装 总的需要以下命令行,下面有详细截图步骤讲解(如果有遇到问题,请留言评论)

qq_41261340的博客 891

Linux编译安装PHP7.4.24及启动

Linux编译安装PHP7.4.24及启动1. 下载安装PHP安装包2. 配置安装包2.1 先安装前置插件,不管有没有都安装一下2.2 配置php2.3 执行配置命令可能会出现如下错误2.4 运行php的配置命令出现如下示例,即为配置成功3编译安装包3.1 执行编译命令(可能要花一点时间)3.2 在之前编译的源码包中,找到 php.ini-production,复制到/usr/local/php下,并改名为php.ini:3.2 修改配置文件3.3 新建用户组及用户4. 启动停止php-fpm4.1 启

陈家老二的博客 1万+

centos7编译安装php7.4.13

1.php安装依赖 yum -y install epel-release yum -y install gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses nc

知音的博客 2407

编译安装最新PHP 7.4 alpha

编译安装 wget https://downloads.php.net/~derick/php-7.4.0alpha1.tar.gz 解压 tar xvf php-7.4.0alpha1.tar.gz 进入目录 然后 ./buildconf 因为我要安装 PHP 到目录 /www/server/php/74,你可以改成其他目录(如 /usr/local/php/74),也可以用这个目录。...

谢谢你,慌乱了我的年华 1414

PHP7.4编译安装问题解决

PHP7.4编译安装问题解决 PHP 7+ 版本极大地改进了性能,在一些WordPress基准测试当中,性能可以达到PHP 5.6的3倍。而PHP 5.6版本在2018年底官方已经不再维护,升级PHP 7是必然选择。 centos7 编辑安装php遇到的问题: 解决 configure: error: no acceptable C compiler found in $PATH 错误 yum install -y gcc gcc-c++ 解决 error: the HTTP XSLT module req

yunweigo的博客 2471

centos7编译安装php7.4

centos7源码编译安装php7.4

T_Struggle的博客 4537
上一篇: Nginx 错误502 upstream sent too big header while reading response header from upstream
下一篇: CentOS 卸载软件
firstcode666
博客等级 码龄5年 48粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值