日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

centos下安装 php,Centos 下安装 PHP (新)

發(fā)布時間:2024/9/15 php 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 centos下安装 php,Centos 下安装 PHP (新) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

今天重新實踐了下 CentOS 7.6 下安裝 PHP7 并完成配置,總結(jié)了一條可以照其實現(xiàn)的套路。

安裝 PHP 所需擴展# 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 libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

獲取 PHP 源碼包

采用源碼編譯的方式安裝 PHP,好處是可以獲取最新版本,也能提供一定的配置靈活性,適合有經(jīng)驗的。獲取方式可以在 Centos 中運行 Wget ,也可以在其他環(huán)境下下載 tar 包然后上傳到服務器上。推薦后者,速度更快,此處假設已經(jīng)獲取到了 php-7.4.0.tar.gz,并存放到了 /home/downloads# cd /home/downloads

# wget https://www.php.net/distributions/php-7.4.0.tar.gz

解壓

因與安裝實際目錄無關,解壓到當前目錄即可,解壓后接入目錄等待執(zhí)行下面操作# tar -xvf php-7.4.0.tar.gz

# cd php-7.4.0

進行配置

對安裝進行預配置,設置一些編譯參數(shù)。最簡單的配置是不帶任何參數(shù)# ./configure

但通常因為可能要自定義 PHP 安裝目錄、配置文件目錄等,可以使用個人習慣的基礎配置語句:設定PHP安裝目錄為 /usr/local/php,配置文件目錄為 /usr/local/php/etc,并允許使用 php-fpm 管理 PHP 請求# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm

檢查輸入無誤后即可運行,通常很快完成

Make

使用 Make 命令進行編譯,時間約 5-10min,可能遇到坑。比如在華為 Centos 7.6 上安裝時就遇到了 sqlite3 缺失無法完成的錯誤提示,百度一下,將 sqlite3 安裝上再重新運行 Make 命令# make

make install

如 make 無誤,make install 很快。# make install

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/

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/

Installing man pages: /usr/local/php/php/man/man1/

此時 PHP 安裝完畢,接下來就要進行相關配置

設置全局變量

剛才在 配置 一節(jié)中,設置 PHP 目錄在 /usr/local/php,因此該目錄下就有了 bin 目錄,將 /usr/local/php/bin 添加到全局變量 $PATH 中編輯文件

# vi /etc/profile

將下面兩句添加到文件尾并保存

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

export PATH

刷新生效

# source /etc/profile

查看是否生效

# php -v

參考顯示結(jié)果

# PHP 7.4.0 (cli) (built: Dec 17 2019 14:44:39) ( NTS )

# Copyright (c) The PHP Group

# Zend Engine v3.4.0, Copyright (c) Zend Technologies

配置 PHP 環(huán)境

根據(jù)配置時自定義的路徑,將有關 PHP 運行的配置文件、啟動方式等進行設置,逐一運行下列命令進入PHP源碼解壓縮目錄

# cd /home/downloads/php-7.4.0

將源碼中準備好的配置文件復制到指定目錄并改名作為 php 運行時的配置文件,在 ./configure 時指定了配置文件目錄是 --with-config-file-path=/usr/local/php/etc

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

php-fpm.conf 是 php-fpm 運行時配置文件,里邊記錄了 include 路徑,可以將多個配置文件放到 include 路徑下

# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

www.conf 是默認的有關 www 應用的配置

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

復制 php-fpm 程序到 /etc/init.d,啟動、重啟或停止 /etc/init.d/php-fpm 即可實現(xiàn)對 PHP 的控制

# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

賦予 /etc/init.d/php-fpm 執(zhí)行權限

# chmod +x /etc/init.d/php-fpm

上述命令完成后,在不考慮與 Nginx 的配合情況下,PHP 實際已經(jīng)可以獨立工作了,可以啟動 php-fpm 并查看相關信息# /etc/init.d/php-fpm start[/restart/stop]

輸出

Starting php-fpm done

查看 php-fpm 運行情況# ps -ef|grep php

輸出

# root 24080 1 0 09:49 ? 00:00:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)

# nobody 24081 24080 0 09:49 ? 00:00:00 php-fpm: pool www

# nobody 24082 24080 0 09:49 ? 00:00:00 php-fpm: pool www

# root 24096 23960 0 09:52 pts/0 00:00:00 grep --color=auto php

上例中 master process 因為是使用 root 賬戶啟動并運行 php-fpm ,因此顯示 root 賬戶,nobody 是因為默認 www.conf 配置文件中 user 和 group 默認值就是 nobody 用戶

與 Nginx 的配合

假設現(xiàn)在有站點 a.com,路徑是 /home/wwwroot/a.com,為方便區(qū)別管理,在 /usr/local/php/etc/php-fpm.d 下新增關于 a.com 的配置文件 a.com.conf并假設該文件已創(chuàng)建完畢通過復制 www.conf 創(chuàng)建 a.com.conf

# cp www.conf a.com.conf

編輯目標文件

# vi a.com.conf

修改 user 和 group 的賬號,修改為與 nginx 一致

user = nginx

group = nginx

修改監(jiān)聽端口號,即監(jiān)聽 9001 端口,Nginx要將a.com 的請求發(fā)到這個端口來(Nginx中設置)

listen = 127.0.0.1:9001

修改 Nginx 配置文件,新增 server 站點,并在 location 中處理 a.com 的 php 轉(zhuǎn)發(fā)server {

listen 80;

server_name a.com;

location ~* \.php$ {

root /home/wwwroot/a.com/;

fastcgi_pass 127.0.0.1:9001;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

}

注意上面 server 節(jié)中,有關 .php 的請求被轉(zhuǎn)發(fā)去了 127.0.0.1:9001,即 a.com.conf 的設定中,這樣兩邊就配合起來了。以此為例,增加新站點 b.com 時,可以再新建 b.com.conf,并設定 php 監(jiān)聽端口號是 9002,Nginx 配置中新增 server 轉(zhuǎn)發(fā)到 127.0.0.1:9002,實現(xiàn)同一主機上多個站點的管理。

坑有關用戶名和組:yum 安裝 Nginx 后,系統(tǒng)內(nèi)增加了 nginx 用戶和組,因此 Nginx 使用該用戶名和組運行沒有問題,在 PHP 的 www.conf 配置中,默認用戶名和組是 nobody,權限較少,可以修改與 Nginx 一致,即都改成 nginx。

有關系統(tǒng)目錄權限:注意網(wǎng)站數(shù)據(jù)所存放的根目錄和父目錄的訪問權限,本次就遇到了將 wwwroot 根目錄放到 /root 下并不合適,可以放到 /home 下。

nginx.conf 配置中有關 PHP 的location內(nèi),要設置 root 或其它指定目錄的方式,本次就遇到了忘記設置 root,結(jié)果同一目錄下 html 均能訪問,.php 文件始終返回"File Not Found"的問題

總結(jié)

以上是生活随笔為你收集整理的centos下安装 php,Centos 下安装 PHP (新)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。