wget -ivh
解壓原始碼包:
tar -zxf php-7.2.12.tar.gz
安裝編譯php需要的依賴包:
yum install gcc autoconf gcc-c++
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 readline readline-devel libxslt libxslt-devel
yum install systemd-devel
yum install openjpeg-devel
新增www使用者:
建立群組:groupadd www
建立乙個使用者,不允許登陸和不創主目錄:useradd -s /sbin/nologin -g www -m www
編譯引數:
開發環境:
--enable-phpdbg\
--enable-dtrace\
生產環境:
--disable-phpdbg\
--disable-dtrace\
./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
php-ini:
原始碼包裡面有配置檔案:
php.ini-development 測試開發環境
php.ini-production 生產環境
複製乙份到指定的目錄下(根據自己的情況選用,自己可以對比下這兩個檔案的差異):
cp php.ini-production /usr/local/php/etc/php.ini
php-fpm複製乙份新的php-fpm配置檔案:
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
配置錯誤日誌:error_log = /usr/local/php/var/php-fpm.log
配置pid檔案:pid = /usr/local/php/var/run/php-fpm.pid
儲存退出
cd /usr/local/php/etc/php-fpm.d
cp www.conf.default www.conf
管理php-fpm配置:
cd /usr/local/src/php-7.2.4
cp ./sapi/fpm/php-fpm.service 到 /usr/lib/systemd/system/下
也執行以下命令啟動php-fpm服務:
cp sapi/fpm/php-fpm.service /usr/local/php/bin/
/usr/local/bin/php-fpm
啟動完畢之後,php-fpm服務預設使用9000埠,使用 netstat -tln | grep 9000 可以檢視埠使用情況:
配置開機啟動php-fpm:
systemctl enable php-fpm
啟動php-fpm:
systemctl start php-fpm
檢視狀態:
systemctl status php-fpm
新增環境變數:
vim /etc/profile
在末尾追加:
export path=$path:'/usr/local/php/bin/'
儲存退出。
source /etc/profile
測試:
php -v
看到php版本資訊就表示已經成功了。
如果需要區分web和cli環境,可以將 /usr/local/php/etc/php.ini 複製乙份,重新命名為php-cli.ini
cp /usr/local/php/etc/php.ini /usr/local/php/etc/php-cli.ini
需要調整配置,就在各自的配置檔案中進行調整即可。
設定nginx
nginx配置:
server
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#error_page 500 502 503 504 /50x.html;
location = /50x.html
# proxy the php scripts to apache listening on 127.0.0.1:80
##location ~ \.php$
# pass the php scripts to fastcgi server listening on 127.0.0.1:9000
#location ~ \.php$
# deny access to .htaccess files, if apache's document root
# concurs with nginx's one
##location ~ /\.ht
}修改完這些儲存並退出,然後重啟nginx:
/usr/local/nginx/nginx -s stop
/usr/local/nginx/nginx
或者/usr/local/nginx/nginx -s reload
訪問**,如果能正常開啟頁面,就證明設定成功了,有些時候會遇到一些許可權問題,比如我就遇到了快取目錄沒有寫許可權,chmod 755 cache修改目錄的許可權,然後程式就能正常執行了。
done!
CentOS 7 編譯安裝 PHP 7
使用編譯的方式來安裝 php 7。輸入yum y install libxml2 libxml2 devel openssl openssl devel curl devel libjpeg devel libpng devel freetype devel libmcrypt devel mhas...
CentOS 7 編譯安裝 PHP 7
使用編譯的方式來安裝 php 7。輸入yum y install libxml2 libxml2 devel openssl openssl devel curl devel libjpeg devel libpng devel freetype devel libmcrypt devel mhas...
Centos7 編譯安裝PHP7
centos7 編譯安裝php7 yum groupinstall development tools 2 安裝依賴包 yum install libxml2 libxml2 devel openssl openssl devel bzip2 bzip2 devel libcurl libcurl ...