We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1).从PHP5.5开始,内置了字节码缓存功能,名为Zend OPcache。因为PHP是解释性语言,PHP解释器执行PHP脚本时会解析PHP脚本代码,生成一系列的Zend操作码,然后执行字节码,每次的HTTP请求都是这样,会消耗很多资源,使用字节码缓存可以缓存预先编译的字节码,减少响应时间,降低系统资源的压力。
默认情况之下,Zend OPcache是没有启动的。如果是自己编译PHP,执行的时候命令必须包含以下选项:
--enable-opcache
编译好PHP之后,还必须在php.ini文件中指定Zend OPcache的扩展路径,如下所示:
php.ini
zend_extension=/path/to/opcache.so
PHP编译成功之后会立即显示Zend OPcache扩展的文件路径。可以使用下面的命令找到这个PHP扩展的路径
php-config --extension-dir
然后使用下面的代码可以确认该扩展运行正常
<?php phpinfo();
推荐配置
opcache.validate_timestamps = 1 //在生产环境中设为'0' opcache.revalidate_freq = 0 opcache.memory_comsumption = 64 opcache.interned_strings_buffer = 16 opcache.max_accelerated_files = 4000 opcache.fast_shutdown = 1
可以访问PHP官方网站查看详细设置。
1).生产环境可以设置opcache.validate_timestamps=0。在开发环境中需要设置为1
1).启动php -S localhost:4000 -c app/config/php.ini 2).不支持.htaccess文件。意味着不支持控制器模式。前端控制器用来转发所有的HTTP请求,需要通过.htaccess文件或重写规则实现。 3).可以使用路由器脚本实现以上功能。但是只支持少量的URL重写规则php -S localhost:8000 router.php 4).判断使用的是哪个服务器:
php -S localhost:4000 -c app/config/php.ini
.htaccess
php -S localhost:8000 router.php
<?php if (php_sapi_name() === 'cli-server') { //php内置服务器 } else { // 其他Web服务器 }
The text was updated successfully, but these errors were encountered:
是从 PHP 5.5 版本开始吧
OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销。 PHP 5.5.0 及后续版本中已经绑定了 OPcache 扩展。 对于 PHP 5.2,5.3 和 5.4 版本可以使用 » PECL 扩展中的 OPcache 库。 http://php.net/manual/zh/intro.opcache.php
OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销。
PHP 5.5.0 及后续版本中已经绑定了 OPcache 扩展。 对于 PHP 5.2,5.3 和 5.4 版本可以使用 » PECL 扩展中的 OPcache 库。
http://php.net/manual/zh/intro.opcache.php
Sorry, something went wrong.
@tanteng 是的 从5.5.0版本开始的,谢谢指出错误
No branches or pull requests
Zend OPcache
1).从PHP5.5开始,内置了字节码缓存功能,名为Zend OPcache。因为PHP是解释性语言,PHP解释器执行PHP脚本时会解析PHP脚本代码,生成一系列的Zend操作码,然后执行字节码,每次的HTTP请求都是这样,会消耗很多资源,使用字节码缓存可以缓存预先编译的字节码,减少响应时间,降低系统资源的压力。
启用Zend OPcache
默认情况之下,Zend OPcache是没有启动的。如果是自己编译PHP,执行的时候命令必须包含以下选项:
编译好PHP之后,还必须在
php.ini
文件中指定Zend OPcache的扩展路径,如下所示:PHP编译成功之后会立即显示Zend OPcache扩展的文件路径。可以使用下面的命令找到这个PHP扩展的路径
然后使用下面的代码可以确认该扩展运行正常
配置Zend OPcache
推荐配置
opcache.validate_timestamps = 1 //在生产环境中设为'0' opcache.revalidate_freq = 0 opcache.memory_comsumption = 64 opcache.interned_strings_buffer = 16 opcache.max_accelerated_files = 4000 opcache.fast_shutdown = 1
可以访问PHP官方网站查看详细设置。
使用Zend OPcache
1).生产环境可以设置opcache.validate_timestamps=0。在开发环境中需要设置为1
内置的HTTP服务器
1).启动
php -S localhost:4000 -c app/config/php.ini
2).不支持
.htaccess
文件。意味着不支持控制器模式。前端控制器用来转发所有的HTTP请求,需要通过.htaccess
文件或重写规则实现。3).可以使用路由器脚本实现以上功能。但是只支持少量的URL重写规则
php -S localhost:8000 router.php
4).判断使用的是哪个服务器:
The text was updated successfully, but these errors were encountered: