资讯专栏INFORMATION COLUMN

CentOS7源码编译安装PHP7.2

Charlie_Jade / 1666人阅读

摘要:五注册系统服务当编译安装完成后,还不是系统服务。为了方便启动停止重启,可以将其注册为系统服务。未找到命令此时,需要将添加到环境变量中。

一、环境

CentOS7

二、相关资源

PHP官方网站

PHP官方下载页

三、编译安装 1. 下载php

下载并解压

# 下载php
wget https://www.php.net/distributions/php-7.2.16.tar.gz

# 解压
tar -zxvf php-7.2.16.tar.gz

查看目录

[root@cloudhost ~]# ll
总用量 19232
drwxrwxr-x 14 root root     4096 3月   5 19:05 php-7.2.16
-rw-r--r--  1 root root 19686462 4月  12 15:50 php-7.2.16.tar.gz
2. 创建用户和组
[root@cloudhost ~]# groupadd www-data
[root@cloudhost ~]# useradd -g www-data www-data
3. 安装选项
./configure
--prefix=/usr/local/php
--with-config-file-path=/usr/local/php/etc
--enable-fpm
--with-fpm-user=www-data
--with-fpm-group=www-data
--enable-mbstring
--with-curl=/usr/local/curl
--with-gd
--with-zlib
--with-bz2
--enable-sockets
--enable-sysvsem
--enable-sysvshm
-enable-pcntl
--enable-mbregex
--enable-exif
--enable-bcmath
--with-mhash
--enable-zip
--with-pcre-regex
--with-pdo-mysql
--with-mysqli
--with-jpeg-dir=/usr
--with-png-dir=/usr
--with-openssl
--with-libdir=/lib/x86_64-linux-gnu/
--enable-ftp
--with-gettext
--with-xmlrpc
--enable-opcache
--with-iconv
--enable-mysqlnd
--with-mysqli=mysqlnd
--with-iconv-dir
--with-kerberos
--with-pdo-sqlite
--with-pear
--enable-libxml
--enable-shmop
--enable-xml
--enable-opcache
4. 编译安装
[root@cloudhost php-7.2.16]# make && make install

安装成功后,显示如下信息

Build complete.
Don"t forget to run "make test".

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/
Installing PHP CLI binary:        /usr/local/php/bin/
Installing PHP CLI man page:      /usr/local/php/php/man/man1/
Installing PHP FPM binary:        /usr/local/php/sbin/
Installing PHP FPM defconfig:     /usr/local/php/etc/
Installing PHP FPM man page:      /usr/local/php/php/man/man8/
Installing PHP FPM status page:   /usr/local/php/php/php/fpm/
Installing phpdbg binary:         /usr/local/php/bin/
Installing phpdbg man page:       /usr/local/php/php/man/man1/
Installing PHP CGI binary:        /usr/local/php/bin/
Installing PHP CGI man page:      /usr/local/php/php/man/man1/
Installing build environment:     /usr/local/php/lib/php/build/
Installing header files:          /usr/local/php/include/php/
Installing helper programs:       /usr/local/php/bin/
  program: phpize
  program: php-config
Installing man pages:             /usr/local/php/php/man/man1/
  page: phpize.1
  page: php-config.1
Installing PEAR environment:      /usr/local/php/lib/php/
[PEAR] Archive_Tar    - installed: 1.4.4
[PEAR] Console_Getopt - installed: 1.4.1
[PEAR] Structures_Graph- installed: 1.1.1
[PEAR] XML_Util       - installed: 1.4.3
[PEAR] PEAR           - installed: 1.10.7
Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
/root/php-7.2.15/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f phar.phar /usr/local/php/bin/phar
Installing PDO headers:           /usr/local/php/include/php/ext/pdo/
四、配置文件

从上一步的安装选项看出,我们将配置文件设置在了 /usr/local/php/etc 目录下,需要将配置文件拷贝到该目录。

[root@cloudhost php-7.2.16]# cp php.ini-development /usr/local/php/etc/php.ini

[root@cloudhost php-7.2.16]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

[root@cloudhost php-7.2.16]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
五、注册系统服务

当PHP编译安装完成后,php-fpm还不是系统服务。为了方便启动、停止、重启php-fpm,可以将其注册为系统服务。

找到 init.d.php-fpm 文件

[root@cloudhost ~]# find / -name init.d.php-fpm
/root/php-7.2.16/sapi/fpm/init.d.php-fpm

将它拷贝到/etc/init.d目录下

[root@cloudhost ~]# cp /root/php-7.2.16/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

修改权限

[root@cloudhost ~]# chmod 755 /etc/init.d/php-fpm

启动php-fpm

[root@cloudhost ~]# service php-fpm start
Gracefully shutting down php-fpm . done

停止php-fpm

[root@cloudhost ~]# service php-fpm stop
Starting php-fpm  done

重启php-fpm

[root@cloudhost ~]# service php-fpm reload
Reload service php-fpm  done
六、添加环境变量

当尝试使用php -v查看PHP版本时,提示命令未找到。

[root@cloudhost ~]# php -v
-bash: php: 未找到命令

此时,需要将php添加到环境变量中。

我们可以先通过 echo $PATH 查看一下环境变量。

[root@cloudhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

添加环境变量有3种方法:

一次性的设置,只对当前会话有效,当注销时,刚刚设置的 PATH 就会失效

export PATH=$PATH:/usr/local/php/bin

永久性设置,对所有用户有效,需要重启生效或使用source命令,将上一种方式的导出操作添加到文件/etc/profile的末尾。

永久性设置,只针对一个用户,需要重启生效或使用source命令,优先级高于2,将方式1的导出操作添加到文件~/.bashrc的末尾

添加了环境变量之后,通过php -v命令查看PHP版本。

[root@cloudhost ~]# php -v
PHP 7.2.15 (cli) (built: Apr 10 2019 16:52:28) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31226.html

相关文章

  • CentOS7PHP7.2安装redis扩展

    摘要:安装下载扩展源码包,直接用解压解压目录为,进入该文件夹,开始编译扩展查找路径例如我的是配置环境编译安装配置,添加重启在中查看信息 1、安装phpize yum install php-devel 2、下载扩展源码包,直接用wget wget https://github.com/edtechd/phpredis/archive/php7.zip 3 解压php7.zip unzip...

    GeekQiaQia 评论0 收藏0
  • centos7.4源码安装php,swoole,nginx,redis,mariadb

    摘要:源码安装文件下载下载源码下载下载源码下载下载源码下载源码下载源码下载源码包解压命令包解压命令安装安装前的准备安装安装安装安装安装需要的扩展安装安装时需要的扩展安装在源码目录中执行以下操作执行命 源码安装 1. 文件下载 1.1 下载PHP源码 php.net 下载 php-7.2.7.tar.gz 1.2 下载swoole源码 https://github.com/swoole/s...

    Invoker 评论0 收藏0
  • 【PHP 扩展开发】Zephir 简介

    摘要:什么是是一种中间语言,以接近的语法来编写代码,然后转换编译成扩展,旨在简化扩展的创建和可维护性。如果成功,会自动生成文件到目录你需要编辑填加扩展测试一下就这样,你也会扩展开发了附附编译扩展的方法 什么是 Zephir Zephir 是一种中间语言,以接近 PHP 的语法来编写代码,然后转换编译成 PHP 扩展,旨在简化 PHP 扩展的创建和可维护性。利用编译来提高性能和资源消耗,又不需...

    arashicage 评论0 收藏0

发表评论

0条评论

Charlie_Jade

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<