Centos7.X安裝PHP7.0版本


百度雲服務器還有一個星期就要到期了,還是三個月前買的,這個時候續費價格可是幾百一個月,沒有了優惠就不再續費了,而且這個備案經歷了一波三折還是沒有備好。百度雲服務什么的還是不如阿里雲,從創建快照的時間的快慢可以看得出來。想着怎么把鏡像拷到本地去,不然下次再玩的話又要重新配置環境了,又是一件麻煩事。

  • 首先要更新yum源,不然是默認的老版本,一般都在5.6及以下,但是php7都出來好久了,雖然不排除也有好多網站是老版本的PHP。
    下載所對應的rpm包,按照系統更新yum源。

如果是centos6,那么執行以下代碼:
CentOS/RHEL 6.x:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

CentOS/RHEL 7.x:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

第一種方法

  • yum安裝PHP7.0,用yum裝的唯一好處就是不用管什么依賴,yum都會幫你裝上。
yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64

安裝php-fpm

yum install php70w-fpm php70w-opcache

啟動php-fpm

systemctl start php-fpm

開機啟動設置

systemctl enable php-fpm
systemctl daemon-reload

第二種方法

也可以這樣直接yum安裝PHP7.0,可以安裝的拓展如下:

yum install php70w-common php70w-fpm php70w-opcache php70w-gd php70w-mysqlnd php70w-mbstring php70w-pecl-redis php70w-pecl-memcached php70w-devel

就這一條命令,就可以安裝了下面的拓展

php-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, php-filter, php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-json, php-libxml, php-openssl, php-pcre, php-pecl-Fileinfo, php-pecl-phar, php-pecl-zip, php-reflection, php-session, php-shmop, php-simplexml, php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib

  • 安裝對應的拓展如下
安裝包         提供的拓展
php70w          mod_php , php70w-zts
php70w-bcmath       
php70w-cli      php-cgi, php-pcntl, php-readline
php70w-common   php-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, php-filter, php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-json, php-libxml, php-openssl, php-pcre, php-pecl-Fileinfo, php-pecl-phar, php-pecl-zip, php-reflection, php-session, php-shmop, php-simplexml   , php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib
php70w-dba      
php70w-devel        
php70w-embedded     php-embedded-devel
php70w-enchant      
php70w-fpm      
php70w-gd       
php70w-imap     
php70w-interbase        php_database, php-firebird
php70w-intl     
php70w-ldap     
php70w-mbstring     
php70w-mcrypt       
php70w-mysql        php-mysqli, php_database
php70w-mysqlnd      php-mysqli, php_database
php70w-odbc     php-pdo_odbc, php_database
php70w-opcache      php70w-pecl-zendopcache
php70w-pdo      php70w-pdo_sqlite, php70w-sqlite3
php70w-pdo_dblib        php70w-mssql
php70w-pear     
php70w-pecl-apcu    
php70w-pecl-imagick 
php70w-pecl-memcached   
php70w-pecl-mongodb 
php70w-pecl-redis   
php70w-pecl-xdebug  
php70w-pgsql        php-pdo_pgsql, php_database
php70w-phpdbg       
php70w-process      php-posix, php-sysvmsg, php-sysvsem, php-sysvshm
php70w-pspell       
php70w-recode       
php70w-snmp     
php70w-soap     
php70w-tidy     
php70w-xml      php-dom, php-domxml, php-wddx, php-xsl
php70w-xmlrpc

如需要加裝xml,那么可以直接這樣安裝

yum install php70w-xml
  • 檢查是否安裝成功
php -v

在這里插入圖片描述
查看一下php拓展:

php -m

在這里插入圖片描述
需要拓展,直接yum安裝就可以了。

  • 最后是PHP和Nginx配置一起使用了

打開已經裝好的Nginx目錄下的配置文件nginx.conf,關於Nginx、mysql、Tomcat、JDK的安裝可以訪問我寫的這篇博文:
https://blog.csdn.net/qq_41684621/article/details/102934590
如:我的nginx所處的目錄是/usr/local/nginx/conf/nginx.conf

vim /usr/local/nginx/conf/nginx.conf
  1. 把下面的 location ~ .php$ 刪掉注釋
    fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 替換為
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  1. 在下面的location中添加個默認文件名:index.php
server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm index.php;
        }

        #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 {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
        #    root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
        #   fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
			fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

然后重新加載nginx配置文件 ,必須以root用戶執行:
先進入到nginx目錄下的sbin目錄再執行

cd /usr/local/nginx/sbin
./nginx -s reload
  • 最后測試下是否可以成功執行PHP文件
    上述的nginx配置中,我的根目錄在/usr/local/nginx/html下,打開目錄后把html下存在的index.html刪除或改為其他名字,在html目錄下創建個index.php文件,添加如下內容:
<?php
echo "helloworld"
?>

瀏覽器中訪問IP或域名:
在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM