CentOS_7下安裝PHP7.3

安裝mysql:https://www.cnblogs.com/jiangml/p/10402390.htmlphp

下載PHP安裝包:

官網:http://www.php.net/downloads.phphtml

壓縮包放在 /usr/local/src mysql

wget -O下載時重命名壓縮包nginx

tar解壓sql

cd /usr/local/src
wget -O php-7.3.2.tar.gz http://php.net/get/php-7.3.2.tar.gz/from/a/mirror
tar -xvzf php-7.3.2.tar.gz

安裝:

./configure --prefix參數指定安裝路徑vim

cd /usr/local/php-7.3.2
yum
-y install libcurl-devel yum -y install libXpm-devel yum -y install libxml2-devel ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/usr/local/mysql --with-gd --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-xpm-dir=/usr/ --with-zlib-dir=/usr/local/zlib --with-iconv --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --enable-ctype

如果出現下圖相似錯誤Cannot findapi

解決方法:session

yum install openssl -y
yum install openssl-devel -y

再從新執行上面configure,配置成功。php7

make
make install

刪除臨時文件curl

make clean
make distclean

 配置php:

到以前編譯的源碼包中將 php.ini-production 複製到 /usr/local/php/php.ini

cd /usr/local/src/php-7.3.2  
cp php.ini-production /usr/local/php/php.ini

複製啓動腳本

cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm

修改php-fpm配置文件

cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf

 去掉pid = run/php-fpm.pid前面的分號。:wq! 保存並退出。

啓動php:

/etc/init.d/php-fpm start       #php-fpm啓動命令
/etc/init.d/php-fpm stop        #php-fpm中止命令
/etc/init.d/php-fpm restart     #php-fpm重啓命令
ps -ef | grep php               #查看是否已經成功啓動PHP

MySql擴展:

(PHP7.2再也不支持mysql,而是用mysqli取代。)

因爲須要和MySQL進行通訊,因此須要特別查看PHP7安裝後的lib擴展庫目錄 /usr/local/php7/lib/php/extensions/no-debug-non-zts-20141001/ 下是否有mysqli.so  pdo_mysql.so

沒有的話,須要手動編譯生成擴展。

須要用到php的源碼包。經過源碼包中提供的phpize文件(一個專門掛接php擴展的工具)。

phpize的規則:去哪一個目錄下運行phpize文件,那麼就會在該目錄下生成一個configure文件。也就是說我如今須要分別進入源碼包中的mysqli與pdo_mysql目錄下編譯安裝。

cd /usr/local/src/php-7.3.2/ext     //進入源碼目錄

先編譯生成mysqli.so

注:/usr/local/mysql/爲mysql的安裝目錄

cd mysqli
/usr/local/php/bin/phpize
 ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysql=/usr/local/mysql/
make
make install

再來編譯生成pdo_mysql:

cd pdo_mysql
/usr/local/php/bin/phpize
./configure --with-pdo-mysql=/usr/local/mysql --with-php-config=/usr/local/php/bin/php-config
make
make install

而後再去查看 /usr/local/php7/lib/php/extensions/no-debug-non-zts-20141001/ 目錄下是否安裝成功。

安裝成功後,修改php.ini

去掉下圖擴展前的分號,若沒有則自行添加。

 重啓nginx,完成。

相關文章
相關標籤/搜索