在Linux上配置PHP的OPcache可以顯著提高PHP腳本的執行速度。OPcache是PHP的一個內置擴展,它通過將PHP腳本編譯成字節碼并緩存起來,減少了每次請求時都需要重新編譯的開銷。以下是配置OPcache的步驟:
首先,確保你的PHP版本支持OPcache。OPcache從PHP 5.5開始引入,并在后續版本中不斷改進。你可以通過以下命令檢查PHP版本:
php -v
大多數現代Linux發行版默認已經安裝了OPcache。如果沒有安裝,可以使用包管理器進行安裝。例如,在Ubuntu上:
sudo apt-get update
sudo apt-get install php-opcache
在CentOS上:
sudo yum install php-opcache
OPcache的配置可以通過php.ini文件進行。你需要編輯php.ini文件來啟用和配置OPcache。通常,php.ini文件位于/etc/php/7.x/cli/php.ini(命令行模式)或/etc/php/7.x/apache2/php.ini(Apache模式)。
在php.ini文件中找到以下行并取消注釋(刪除前面的分號;):
zend_extension=opcache.so
以下是一些常用的OPcache配置參數:
opcache.enable: 啟用或禁用OPcache。設置為1啟用,0禁用。
opcache.enable=1
opcache.memory_consumption: 分配給OPcache的內存大?。ㄒ訫B為單位)。默認值通常是64MB。
opcache.memory_consumption=128
opcache.interned_strings_buffer: 用于存儲interned字符串的內存大?。ㄒ訫B為單位)。默認值通常是8MB。
opcache.interned_strings_buffer=8
opcache.max_accelerated_files: 可以被OPcache緩存的最大文件數。默認值通常是10000。
opcache.max_accelerated_files=10000
opcache.revalidate_freq: 檢查腳本文件修改的時間間隔(以秒為單位)。默認值通常是2秒。
opcache.revalidate_freq=2
opcache.fast_shutdown: 啟用快速關閉。設置為1啟用,0禁用。
opcache.fast_shutdown=1
以下是一個示例配置:
[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=2
opcache.fast_shutdown=1
修改完php.ini文件后,需要重啟Web服務器以使配置生效。
sudo systemctl restart apache2
sudo systemctl restart php7.x-fpm
sudo systemctl restart nginx
(請將7.x替換為你的PHP版本)
你可以通過創建一個PHP文件來驗證OPcache是否啟用。例如,創建一個名為info.php的文件,內容如下:
<?php
phpinfo();
?>
然后在瀏覽器中訪問http://your_server_ip/info.php,搜索“OPcache”部分,如果看到相關信息,說明OPcache已經成功啟用。
通過以上步驟,你應該能夠在Linux上成功配置PHP的OPcache,從而提高PHP應用的性能。