本篇文章主軸在利用Debian開發者Ondřej Surý的PHP 7 repository來安裝PHP 7.3.0, 並且搭配Nginx Web Server建立你的網站應用程式, 主機環境為Google Cloud Platform的虛擬機, 使用Debian Linux 9.6作業系統, 不編譯任何原始碼情況下簡單的完成基礎網站架設。PHP應用程式對模組的需求不盡然都相同, 請依照自己的需求增加模組, 例如GD圖片處理模組就安裝php7.3-gd。

安裝Ondřej Surý的PHP 7 repository
apt-get -y install apt-transport-https lsb-release ca-certificates
curl -ssL -o /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
apt-get update


安裝PHP 7.3.0
apt-get install php7.3 php7.3-cli php7.3-common php7.3-curl php7.3-mbstring php7.3-mysql php7.3-xml php7.3-fpm php7.3-dev php7.3-zip

因為用到PHP-FPM, 所以要有php7.3-fpm
設定檔案會在/etc/php/7.3/目錄之下, PHP-FPM則是/etc/php/7.3/fpm/

開啟OPcache
nano /etc/php/7.3/fpm/php.ini

尋找"[opcache]"章節, 將opcache打開
opcache.enable=1

php.ini後面也加上載入opcache模組
zend_extension=opcache.so

關於OPcache的詳細設定, 可以參考: https://gywbd.github.io/posts/2016/1/best-config-for-zend-opcache.html

安裝Nginx
apt-get install nginx


修改網站根目錄與PHP-FPM的Unix Socket路徑
nano /etc/nginx/sites-available/default

清除內容, 或是修改成你需要的預設網站
server {
listen 80;

root /var/www/html;

index index.php index.html index.htm;

server_name _;

location / {
try_files $uri $uri/ =404;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}

location ~ /\.ht {
deny all;
}
}


重新啟動PHP-FPM與Nginx
service php7.3-fpm restart
service nginx restart

我在網站目錄放個測試程式, 顯示phpinfo()內容, 例如以下畫面:
簡易PHP 7.3安裝與Nginx網站架設
在Google Cloud Platform使用Debian Linux的朋友請注意! 安裝完成後SSH離線, 會無法再連線, 原因是Ondřej Surý的PHP套件安裝時會移除Google Cloud Platform需要的套件: google-compute-engine python-boto python-google-compute-engine python3-boto python3-google-compute-engine
建議目前GCP用戶還是手動編譯, 不然虛擬機就掛了!
Ondřej Surý提供了php-dev防止更新到libssl-dev 1.1.1的方法, 將libssl-dev版本pin住
參考: https://github.com/oerdnj/deb.sury.org/issues/1050

安裝Ondřej Surý的PHP package之前, 先把Debian 9.6的libssl-dev pin在1.1.0版
nano /etc/apt/preferences.d/libssl

貼上內容
Package: libssl-dev
Pin: version 1.1.0*
Pin-Priority: 1000


然後再去裝Ondřej Surý PHP repository
PHP 7.3.2在上週釋出後, Ondřej Surý的PHP 7 repo也更新到7.3.2版, 在Google Cloud Platform上Debian 9.7的虛擬機也不會發生將Google虛擬機必要套件解除安裝的問題, 以下是實際測試後的資訊:
php -v

顯示PHP版本
PHP 7.3.2-3+0~20190208150725.31+stretch~1.gbp0912bd (cli) (built: Feb  8 2019 15:07:25) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.2, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.2-3+0~20190208150725.31+stretch~1.gbp0912bd, Copyright (c) 1999-2018, by Zend Technologies

回應內容, 從版號得知在二月八日就升級到了PHP 7.3.2
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!