centos7編譯安裝php7 2

2021-09-07 20:29:15 字數 4287 閱讀 8738

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 ...