Skip to main content

php相關設定

PHP升級版本方式

檢視現在php程式的詳細資料跟版本
sudo dpkg -l | grep php | tee packages.txt

image.png

備註:請注意自己安裝跟需要的套件去做更新

建立資料來源資料庫

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(資料庫 / 檔案 / 網路)。

一般差異

 

參考資料

https://php.watch/articles/php-8.3-install-upgrade-on-debian-ubuntu#php83-ubuntu-quick