php相關設定
PHP升級版本方式
檢視現在php程式的詳細資料跟版本
sudo dpkg -l | grep php | tee packages.txt
備註:請注意自己安裝跟需要的套件去做更新
建立資料來源資料庫
debian
sudo apt install apt-transport-https
sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
sudo apt update
Ubuntu
sudo add-apt-repository ppa:ondrej/php
sudo apt update
安裝新的php
sudo apt install php8.3 php8.3-cli php8.3-{bz2,curl,mbstring,intl}
備註:視需要做所需要安裝的php套件增減。
安裝跟nginx或apache運作的php模組
nginx
sudo apt install php8.3-fpm
備註:完成後需要在nginx設定好才會正常運作
apache
sudo apt install libapache2-mod-php8.3
備註:安裝後需要啟用新版,關閉舊版
檢視新的版本是否正常運作
nginx
sudo systemctl status php8.3-fpm.service
移除舊版
sudo apt purge php8.2*
效能相關設定
JIT設定(設定php.ini)
opcache.jit = 0 # 關閉
opcache.jit = 1235 # 適合一般 web(官方預設)
opcache.jit = 1256 # 更積極的編譯
[opcache]
opcache.enable=1
opcache.enable_cli=1 ; 若你希望 CLI 也加速
opcache.jit=1235 ; 官方推薦的 JIT 等級
opcache.jit_buffer_size=128M
確認是否啟用
php -i | grep JIT
也可以看
<?php phpinfo(); ?>
主要差異
-
科學計算
-
圖像處理
-
迴圈密集計算
-
伺服器長時間執行的 daemon
-
自動化、ETL 等非 Web 工作
原因:JIT 只加速 CPU-bound,而 Web 程式大多是 I/O bound(資料庫 / 檔案 / 網路)。
一般差異
APCu設定
[apcu]
apc.enabled=1
apc.shm_size=128M
apc.enable_cli=0
參數說明:
-
apc.enabled=1 → 啟用 APCu
-
apc.shm_size=128M → 設定分享記憶體大小(快取容量)
-
小網站:32M
-
中型:64M
-
大型:128M~256M
-
-
apc.enable_cli → 是否讓 CLI 也使用 APCu
-
通常建議 0(避免干擾 CLI)
-
參考資料
https://php.watch/articles/php-8.3-install-upgrade-on-debian-ubuntu#php83-ubuntu-quick
