摘要:安裝擴展前面在設置了拓展的安裝路徑,于是此處已自動將加入拓展目錄中,只要在,添加即可查看是否安裝成功安裝擴展根據版本選擇對應的查看是否安裝成功相關文章環境搭建一環境搭建二環境搭建三
安裝的基本步驟官方文檔都有說明:PHP官網安裝文檔
編譯安裝 依賴環境這一步實際上已經在:LNMP環境搭建(二):Nginx上完成了
[root@localhost ~]# yum -y install gcc [root@localhost ~]# yum -y install gcc++ [root@localhost ~]# yum -y install gcc-c++ [root@localhost ~]# yum -y install wget [root@localhost ~]# yum -y install make [root@localhost ~]# yum -y install libxml2 [root@localhost ~]# yum -y install libxml2-devel [root@localhost ~]# yum -y install openssl [root@localhost ~]# yum -y install openssl-devel [root@localhost ~]# yum -y install curl-devel [root@localhost ~]# yum -y install libjpeg-devel [root@localhost ~]# yum -y install libpng-devel [root@localhost ~]# yum -y install freetype-devel [root@localhost ~]# yum -y install bison [root@localhost ~]# yum -y install autoconf [root@localhost ~]# yum -y install automake [root@localhost ~]# yum -y install libtool [root@localhost ~]# yum -y install cmake [root@localhost ~]# yum -y install zlib [root@localhost ~]# yum -y install zlib-devel [root@localhost ~]# yum -y install pcre-devel
下載并解壓
[root@localhost ~]# wget http://php.net/distributions/php-7.2.12.tar.gz [root@localhost ~]# tar -zxvf php-7.2.12.tar.gz編譯安裝
在解壓的目錄下配置、編譯安裝
[root@localhost ~]# ./configure --prefix=/usr/local/php --exec-prefix=/usr/local/php --bindir=/usr/local/php/bin --sbindir=/usr/local/php/sbin --includedir=/usr/local/php/include --libdir=/usr/local/php/lib/php --mandir=/usr/local/php/php/man --with-config-file-path=/usr/local/php/etc --with-mysql-sock=/tmp/mysql.sock --with-mhash --with-openssl --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd --with-iconv --with-zlib --enable-zip --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-mbregex --enable-mbstring --enable-ftp --enable-gd-native-ttf --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --without-gdbm --enable-fast-install
--prefix=/usr/local/php [php安裝的根目錄] --exec-prefix=/usr/local/php [php執行文件所在目錄] --bindir=/usr/local/php/bin [php/bin目錄] --sbindir=/usr/local/php/sbin [php/sbin目錄] --includedir=/usr/local/php/include [php包含文件所在目錄] --libdir=/usr/local/php/lib/php [php/lib目錄] --mandir=/usr/local/php/php/man [php/man目錄] --with-config-file-path=/usr/local/php/etc [php的配置目錄] --with-mysql-sock=/tmp/mysql.sock [php的Unix socket通信文件] --with-mhash [Mhash是基于離散數學原理的不可逆向的php加密方式擴展庫,其在默認情況下不開啟] --with-openssl [OpenSSL 是一個安全套接字層密碼庫] --with-mysqli=shared,mysqlnd [php依賴mysql庫] --with-pdo-mysql=shared,mysqlnd [php依賴mysql庫] --with-gd [gd庫] --with-iconv [關閉iconv函數,種字符集間的轉換] --with-zlib [zlib是提供數據壓縮用的函式庫] --enable-zip [打開對zip的支持] --enable-inline-optimization [優化線程] --disable-debug [關閉調試模式] --disable-rpath [關閉額外的運行庫文件] --enable-shared [啟用動態庫] --enable-xml [開啟xml擴展] --enable-bcmath [打開圖片大小調整,用到zabbix監控的時候用到了這個模塊] --enable-shmop [共享內存] --enable-sysvsem [內存共享方案] --enable-mbregex [開啟多字節正則表達式的字符編碼。] --enable-mbstring [開啟多字節字符串函數] --enable-ftp [開啟ftp] --enable-gd-native-ttf [開啟gd庫原有字體] --enable-pcntl [PHP的進程控制支持實現了Unix方式的多進程創建] --enable-sockets [開啟套節字] --with-xmlrpc [打開xml-rpc的c語言] --enable-soap [開啟簡單對象訪問協議簡單對象訪問協議] --without-pear [開啟php擴展與應用庫] --with-gettext [開戶php在當前域中查找消息] --enable-session [允許php會話session] --with-curl [允許curl擴展] --with-jpeg-dir [指定jpeg安裝目錄yum安裝過后不用再次指定會自動找到] --with-freetype-dir [指定freetype安裝目錄yum安裝過后不用再次指定會自動找到] --enable-opcache [開啟使用opcache緩存] --enable-fpm [開啟fpm] --with-fpm-user=nginx [php-fpm的用戶] --with-fpm-group=nginx [php-fpm的用戶組] --without-gdbm [數據庫函數使用可擴展散列和類似于標準UNIX dbm的工作] --enable-fast-install [為快速安裝優化] --disable-fileinfo [防止低內存VPS出現內存不住的錯誤]
[root@localhost ~]# make && make install
創建系統用戶、系統用戶組
> -r: 添加系統用戶 > -g: 指定要創建的用戶所屬組 > -s: 新帳戶的登錄shell > -d: 新帳戶的主目錄 > -M: 不要創建用戶的主目錄
[root@localhost ~]# groupadd -r php [root@localhost ~]# useradd -r -g php -M php [root@localhost ~]# passwd php [root@localhost ~]# usermod -s /sbin/nologin php ###文件配置
創建配置文件,并將其復制到正確的位置
> php.ini #php運行核心配置文件 > www.conf #php-fpm進程服務的擴展配置文件 > php-fpm.conf #php-fpm進程服務的配置文件
[root@localhost ~]# cp php.ini-development /usr/local/php/etc/php.ini [root@localhost ~]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf [root@localhost ~]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf [root@localhost ~]# cp sapi/fpm/php-fpm /usr/local/bin
創建鏈接
環境變量:輸入命令的時候LINUX會去查找PATH里面記錄的路徑
[root@localhost ~]# echo $PATH [root@localhost ~]# ln -s /usr/local/php/sbin/php-fpm /usr/local/sbin/php-fpm [root@localhost ~]# ln -s /usr/local/php/bin/php /usr/local/bin/php
在環境變量:/usr/local/bin/ 下創建 /usr/local/php/bin/php的軟連接,當我們在任意目錄輸入 php時,系統去環境變量中查找,通過軟連接指向 /usr/local/php/bin/php。php-fpm同理
啟用php-fpm服務
編譯之前./configure的時候,我們都已經確定了php-fpm 模塊使用 nginx 用戶和 nginx 用戶組的身份運行
[root@localhost ~]# ps -ef | grep php-fpm root 75608 1 0 02:32 ? 00:00:00 php-fpm: master process (/usr/local/php/etc/php- fpm.conf) nginx 75609 75608 0 02:32 ? 00:00:00 php-fpm: pool www nginx 75610 75608 0 02:32 ? 00:00:00 php-fpm: pool www root 75641 96978 0 02:32 pts/0 00:00:00 grep --color=auto php-fpm
測試
配置 Nginx 使其支持 PHP 應用
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
修改默認的 location 塊,使其支持 .php 文件:
location / { root html; index index.php index.html index.htm; }
下一步配置來保證對于 .php 文件的請求將被傳送到后端的 PHP-FPM 模塊, 取消默認的 PHP 配置塊的注釋,并改為以下的內容:
location ~* .php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; }
重啟 Nginx
[root@localhost ~]# sudo /usr/local/nginx/sbin/nginx -s stop [root@localhost ~]# sudo /usr/local/nginx/sbin/nginx
創建測試文件
[root@localhost ~]# rm /usr/local/nginx/html/index.html [root@localhost ~]# echo "" >> /usr/local/nginx/html/index.php
訪問服務器的:localhost 可以看到 phpinfo
修改php擴展目錄所在位置、修改服務器所在時區
[root@localhost ~]# vim /usr/local/php/etc/php.ini extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/" date.timezone = Asia/Shanghai
查看 php-fpm 進程重啟 php-fpm 查看更改
[root@localhost ~]# ps aux | grep php-fpm [root@localhost ~]# kill 22747 [root@localhost ~]# php-fpm自動啟動
具體文法參考:Systemd 入門教程:實戰篇
在 php-7.2.12.tar.gz 的解壓目錄下已有一個 service 文件了,復制并重命名到 /etc/systemd/system/ 下即可
[root@localhost ~]# find / -name "php-fpm.service" [root@localhost ~]# cp /home/soft/php-7.1.23/sapi/fpm/php-fpm.service /etc/systemd/system/php-fpm.service
[Unit] Description=The PHP FastCGI Process Manager After=network.target [Service] Type=simple PIDFile=/usr/local/php/var/run/php-fpm.pid ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf ExecReload=/bin/kill -USR2 $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
啟動 php,設置 php 自動啟動
[root@centos7 /]# systemctl start php-fpm [root@centos7 /]# systemctl enable php-fpm
當啟動失敗時可以嘗試終止進程再次啟動
依賴安裝參考: centos 通過 yum 安裝 php72清理舊版本
[root@centos7 /]# yum -y remove php*配置源地址
[root@centos7 /]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm [root@centos7 /]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
等同于
[root@centos7 /]# yum install epel-release -y [root@centos7 /]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm安裝擴展包
安裝php72w及其它相關擴展
[root@centos7 /]# yum -y install php72w [root@centos7 /]# yum -y install php72w-cli [root@centos7 /]# yum -y install php72w-fpm [root@centos7 /]# yum -y install php72w-common [root@centos7 /]# yum -y install php72w-pdo [root@centos7 /]# yum -y install php72w-pdo_mysql [root@centos7 /]# yum -y install php72w-pdo_sqlite [root@centos7 /]# yum -y install php72w-devel
查看安裝結果
[root@centos7 /]# php -v # PHP 7.2.11 (cli) (built: Oct 11 2018 19:14:35) ( NTS ) # Copyright (c) 1997-2018 The PHP Group # Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies [root@centos7 /]# php -m # 查看安裝的擴展
設置自動啟動
[root@centos7 /]# systemctl start php-fpm [root@centos7 /]# systemctl enable php-fpm安裝擴展
參考:編譯安裝PHP擴展
添加軟連接,使 phpize 可以全局使用
[root@localhost ~]# echo $PATH [root@localhost ~]# ln -s /usr/local/php/bin/phpize /usr/local/bin/phpize
查看已安裝的php擴展
[root@localhost ~]# php -m
[PHP Modules] bcmath Core ctype curl date dom fileinfo filter ftp gd gettext hash iconv json libxml mbstring mysqlnd openssl pcntl pcre PDO pdo_sqlite Phar posix Reflection session shmop SimpleXML soap sockets SPL sqlite3 standard sysvsem tokenizer xml xmlreader xmlrpc xmlwriter zip zlib [Zend Modules]
PECL 是PHP Extensions的存儲庫,提供了用于下載和開發PHP擴展的所有已知擴展和托管工具的目錄。安裝 Redis 擴展
[root@localhost ~]# wget http://pecl.php.net/get/redis-4.1.1.tgz [root@localhost ~]# tar -xvzf redis-4.1.1.tgz [root@localhost ~]# phpize [root@localhost ~]# ./configure --with-php-config=/usr/local/php/bin/php-config [root@localhost ~]# make && make install
前面在 php.ini 設置了拓展的安裝路徑,于是此處已自動將 redis.so 加入拓展目錄中,只要在 php.ini,添加 extension = redis.so 即可
[root@localhost ~]# vim /usr/local/php/etc/php.ini extension = redis.so
查看 Redis 是否安裝成功
[root@localhost ~]# php -m | grep redis安裝 xdebug 擴展
根據 PHP 版本選擇對應的 Xdebug
[root@localhost ~]# wget http://pecl.php.net/get/xdebug-2.6.1.tgz [root@localhost ~]# tar -xvzf xdebug-2.6.1.tgz [root@localhost ~]# phpize [root@localhost ~]# ./configure --with-php-config=/usr/local/php/bin/php-config [root@localhost ~]# make && make install
[root@localhost ~]# vim /usr/local/php/etc/php.ini zend_extension = xdebug.so
查看 Xdebug 是否安裝成功
[root@localhost ~]# php -m | grep xdebug
----------------------------------------------------------DONE------------------------------------------------------------
相關文章LNMP環境搭建(一):Mysql
LNMP環境搭建(二):Nginx
LNMP環境搭建(三):PHP
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/29660.html
摘要:項目由一組關聯的應用容器組成的一個完整業務單元,在文件中定義。 docker搭建lnmp環境 一、Dockerfile定制鏡像 二、docker-compose 三、docker-compose編排lnmp環境 1、mysql 2、redis 3、mongo 4、nginx 5、php 6、完整版 四、參考 有收獲的話請加顆小星星,沒有收獲的話可以 反對 沒有幫助 ...
摘要:一安裝更新源默認源中版本為安裝及常用的拓展模塊注安裝其他拓展模塊可使用命令測試是否安裝成功配置文件,在末尾添加二安裝卸載的版本增加新源安裝啟動設置開機啟動修改默認密 一、安裝php7 1.更新yum源(默認yum源中php版本為5.3.3) # rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm 2.安裝php7及常用的拓展...
摘要:一安裝更新源默認源中版本為安裝及常用的拓展模塊注安裝其他拓展模塊可使用命令測試是否安裝成功配置文件,在末尾添加二安裝卸載的版本增加新源安裝啟動設置開機啟動修改默認密 一、安裝php7 1.更新yum源(默認yum源中php版本為5.3.3) # rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm 2.安裝php7及常用的拓展...
閱讀 1670·2021-10-13 09:39
閱讀 2099·2021-09-07 10:20
閱讀 2678·2019-08-30 15:56
閱讀 2945·2019-08-30 15:56
閱讀 932·2019-08-30 15:55
閱讀 625·2019-08-30 15:46
閱讀 3494·2019-08-30 15:44
閱讀 2552·2019-08-30 11:15