PHP 8.0 配置

發佈於 2024-03-21  2,630 次閱讀


PS

  • 可依據專案的要求做修改

php.ini設置

PHP設定檔(php.ini)位在 /etc/php.ini
最大執行時間

此設定可調整單次請求最大執行時間(秒)

max_execution_time = 180
POST請求大小限制

此設定可調整單次請求大小限制

post_max_size = 2G
上傳檔案大小限制

此設定可調整上傳檔案的大小限制

upload_max_filesize = 2G
記憶體大小限制

此設定可調整記憶體最大限制

memory_limit = 5G

Opcache設置

Opcache設定檔(10-opcache.ini)位在 /etc/php.d/10-opcache.ini

opcache.enable=1此行底下加入以下兩行

opcache.jit = 1205
opcache.jit_buffer_size = 64M
  • JIT設置須依據當前使用的伺服器環境設定

說明如下:
opcache.jit这个配置看起来稍微有点复杂,我来解释下,这个配置由4个独立的数字组成,从左到右分别是(请注意,这个是基于现有alpha1的版本设置,一些配置可能会随身着后续版本做微调):

  • 是否在生成机器码点时候使用AVX指令,需要CPU支持:
0:不使用
1:使用
  • 寄存器分配策略:
0: 不使用寄存器分配
1: 局部(block)域分配
2: 全局(function)域分配
  • JIT触发策略:
0: PHP脚本载入的时候就JIT
1: 当函数第一次被执行时JIT
2: 在一次运行后,JIT调用次数最多的百分之(opcache.prof_threshold * 100)的函数
3: 当函数/方法执行超过N(N和opcache.jit_hot_func相关)次以后JIT
4: 当函数方法的注释中含有@jit的时候对它进行JIT
5: 当一个Trace执行超过N次(和opcache.jit_hot_loop, jit_hot_return等有关)以后JIT
  • JIT优化策略,数值最大优化力度越大:
0: 不JIT
1: 做opline之间的跳转部分的JIT
2: 内敛opcode handler调用
3: 基于类型推断做函数级别的JIT
4: 基于类型推断,过程调用图做函数级别JIT
5: 基于类型推断,过程调用图做脚本级别的JIT
設定完畢後須重啟Apache(httpd)後,設定才會生效
systemctl restart httpd

參考資料

PHP8.0 JIT配置
https://zhuanlan.zhihu.com/p/157527408


莫札特曾經說過大膽地踏上旅途吧
我不知道路途的前方究竟有什麼
但是
我們還是邁出了步伐
我們仍在旅途之中