字节码缓存能存储预先编译好的php代码
* 如果是自己编译PHP
./configure --enable-opcache
编译好后 php.ini
zend_extension=opcache.so
查看php扩展所在目录
php-config --extension-dir
/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20170718
警告: 如果使用 Xdebug, php.ini文件必须先加载Zend OPcache扩展, 再加载Xdebug
* 本地测试 配置Zend OPcache
mkdir ./config cp /Applications/XAMPP//xamppfiles/etc/php.ini ./config/php.ini
添加配置
zend_extension=opcache.so opcache.validate_timestamps=1 ;; 在生产环境中设为0 opcache.revalidate_freq=0 opcache.memory_consumption=64 opcache.interned_strings_buffer=16 opcache.max_accelerated_files=4000 opcache.fast_shutdown=1
如果php.ini文件中的opcache.validate_timestamps指令的值为0, Zend OPcache就觉察不懂php脚本的变化, 我们必须手动清空Zend OPcache缓存的字节码,让它发现PHP文件的变动。
php -S localhost:4000 -c config/php.ini
如果需要在同一局域网中的另一台设备访问这个PHP Web server,将localhost缓成0.0.0.0
php -S 0.0.0.0:4000 -c ./config/php.ini
* 查明使用的是否为内置的服务器
echo php_sapi_name().PHP_EOL; // 'cli-server'
如果是在命令行 php xxx.php // 'cli'
----------------------------------------------------
技术改变命运 学习成就梦想