1. 程式人生 > >Linux CentOS7 安裝PHP

Linux CentOS7 安裝PHP

如果你想快速安裝就使用第一種方法,否則就用第二種。
第一種:
1、安裝PHP

# yum install -y php

2、安裝PHP元件

# yum install php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash

3、重啟apache

# systemctl restart mariadb.service

4、重啟資料庫

# systemctl restart httpd.service

5、檢視是否成功

# php -v

第一種一般下載完是PHP5.4。


第二種:
如果你不幸下載了第一種,那麼可以用這個命令進行解除安裝

# yum remove php* php-common
# php -v

然後
1、到 PHP官網 去下載一個字尾為.tar.gz的版本。我這裡選的是7.2.10
2、通過FTP上傳至/usr/local/
3、解壓原始碼包

# tar zxvf php-x.x.x.tar.gz 

4、進入解壓的資料夾
# cd php-x.x.x

5、安裝編譯php需要的依賴包

# yum install -y gcc autoconf gcc-c++
# yum install -y libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel readline readline-devel libxslt libxslt-devel
# yum install -y systemd-devel
# yum install -y openjpeg-devel

6、建立群組

# groupadd php-fpm

7、建立一個使用者,不允許登陸和不創主目錄

# useradd -s /sbin/nologin -g php-fpm -M php-fpm

8、編譯

# ./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-xmlreader \
--enable-xmlwriter \
--enable-soap \
--enable-calendar \
--with-curl \
--with-zlib \
--with-gd \
--with-pdo-sqlite \
--with-pdo-mysql \
--with-mysqli \
--with-mysql-sock \
--enable-mysqlnd \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--enable-exif \
--enable-bcmath \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-openssl \
--enable-ftp \
--with-kerberos \
--with-gettext \
--with-xmlrpc \
--with-xsl \
--enable-fpm \
--with-fpm-user=php-fpm \
--with-fpm-group=php-fpm \
--with-fpm-systemd \
--disable-fileinfo

執行編譯並安裝

# make && make install

9、生成php.ini檔案
在當前目錄下,也就是php-x.x.x。
測試開發環境(自己玩)下選這個檔案:php.ini-development
生產環境(上線的專案)下選這個檔案:php.ini-production

複製一份到指定的目錄下

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

10、php-fpm複製一份新的php-fpm配置檔案

# cd /usr/local/php/etc

# cp php-fpm.conf.default php-fpm.conf

# vi php-fpm.conf

配置錯誤日誌

    error_log = /usr/local/php/var/php-fpm.log

配置pid檔案 

    pid = /usr/local/php/var/run/php-fpm.pid

:wq+回車儲存退出。

# cd /usr/local/php/etc/php-fpm.d

# cp www.conf.default www.conf

10、管理php-fpm配置

# cd /usr/local/src/php-x.x.x

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

11、配置開機啟動php-fpm

# systemctl enable php-fpm

12、啟動php-fpm

# systemctl start php-fpm

13、檢視狀態

# systemctl status php-fpm

14、新增環境變數

#  vi /etc/profile

在末尾追加

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

儲存退出。

# source /etc/profile

15、測試:

# php -v

16、配置apache

# vi /etc/httpd/conf/httpd.conf

新增

<FilesMatch \.php$>
         SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>

:wq+回車退出
17、重啟apache

# systemctl restart httpd.service