CentOS 7.2環境搭建實錄(第二章:php安裝)

第二章:php安裝

準備工做php

yum -y install epel-release
安裝好後能夠經過以下命令查看
yum info epel-release
yum repolist

下載phphtml

cd /usr/local/src/
wget http://php.net/get/php-7.2.2.tar.gz/from/this/mirror
tar -zvxf php-7.2.2.tar.gz
cd php-7.2.2

編譯安裝phppython

./configure 
--prefix=/usr/local/php                    #指定php安裝目錄
--with-config-file-path=/usr/local/php/etc #指定php配置目錄
--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-xmlrpc 
--with-xsl 
--with-zlib 
--with-mhash 
--with-jpeg-dir 
--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-xml 
--enable-zip 
--enable-ftp 
--enable-intl
--enable-mysqlnd 
--disable-rpath  
--disable-fileinfo

編譯結束沒問題執行
make && make install

備註1:
新服務器編譯安裝php須要花費很長時間,緣由是缺乏太多的插件包。
筆者把編譯過程當中的報錯信息和解決方法在最後作了個彙總,基本能夠處理80%的報錯。
建議你們根據本身php編譯內容安裝對應插件包。

備註2:
512M的服務器安裝php有可能會報內存不足的錯誤,解決方法以下:
分配內存
mkdir -p /var/cache/swap/
dd if=/dev/zero of=/var/cache/swap/swap0 bs=1M count=512
chmod 0600 /var/cache/swap/swap0
mkswap /var/cache/swap/swap0 
swapon /var/cache/swap/swap0
安裝結束後:
刪除內存
swapoff /var/cache/swap/swap0
rm -rf /var/cache/swap/swap0

配置phpmysql

cp php.ini-production /usr/local/php/etc/php.ini
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
cp php-fpm.d/www.conf.default php-fpm.d/www.conf

添加環境變量nginx

vi /etc/profile
export PATH=$PATH:/usr/local/php/bin:/usr/local/php/sbin
source /etc/profile

設置開機啓動redis

chkconfig方法:
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on

systemctl方法:
稍後補充

啓動phpsql

php-fpm -t
service php-fpm start
ps aux|grep php-fpm
執行結果以下圖:

nginx和php結合segmentfault

還記得第一章裏nginx項目配置目錄嗎
cd /usr/local/nginx/conf.d/
touch test.conf
vi test.conf

輸入以下內容:
server {
    listen 80;
    server_name 服務器的ip地址;
    root html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php$is_args$query_string;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

保存退出,進入html目錄下
cd /usr/local/nginx/html/
touch index.php
vi index.php

輸入以下內容
<?php
    phpinfo();
?>

保存退出,重啓nginx,在瀏覽器中輸入服務器ip地址,結果以下圖:

檢查php配置文件路徑和重要php插件是否安裝錯誤

opcache開啓api

php安裝完畢,默認是沒有開啓opcache配置。
在php.ini中添加zend_extension="opcache.so"

保存退出,重啓php-fpm
php -m查看模塊信息,刷新瀏覽器php配置頁面,結果以下

安裝swoole模塊瀏覽器

pecl install swoole
在php.ini中添加extension = swoole.so

保存退出,重啓nginx,php-fpm
php -m查看模塊信息,刷新瀏覽器php配置頁面,結果以下:

安裝redis模塊

php的redis模塊放到後面寫完安裝redis之後補充上去

php安裝總結

安裝包存放點:/usr/local/src/
php配置文件:/usr/local/php/etc/php-fpm.conf
php.ini文件:/usr/local/php/etc/php.ini
php日誌文件:/usr/local/php/var/log/php-fpm.log
phppid文件:/usr/local/php/var/run/php-fpm.pid
php啓動文件:/usr/local/nginx/sbin/nginx

啓動php
service php-fpm start

關閉php
service php-fpm stop

重啓php
service php-fpm restart

查看模塊
php -m

其餘文章:
第一章:環境配置和nginx安裝
第三章:mysql安裝和postgresql安裝
第四章:python環境配置

相關連接:
CentOS下編譯php時的一些典型錯誤及解決辦法
PHP7.2,PHP7.1性能對比

相關文章
相關標籤/搜索