PHPNG (next generation)
2015-06-01 22:36
666 查看
PHPNG (next generation)
This page gives short information about development state of a new PHP branch based on refactored Zend Engine.The phpng branch has been merged into master and has been used as the base for PHP 7.0
Some technical implementation details are available at phpng-int. Information for extension maintainers at phpng-upgrading.
Slides from a talk at ZendCon-2014 phpng-php7.pdf
How to Download, Build, Install and Test
Note: For anonymous checkout, use https://git.php.net/repository/php-src.git instead of git@git.php.net:php-src.gitmkdir ~/tmp cd ~/tmp git clone git@git.php.net:php-src.git cd php-src ./buildconf ./configure \ --prefix=$HOME/tmp/usr \ --with-config-file-path=$HOME/tmp/usr/etc \ --enable-mbstring \ --enable-zip \ --enable-bcmath \ --enable-pcntl \ --enable-ftp \ --enable-exif \ --enable-calendar \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-wddx \ --with-curl \ --with-mcrypt \ --with-iconv \ --with-gmp \ --with-pspell \ --with-gd \ --with-jpeg-dir=/usr \ --with-png-dir=/usr \ --with-zlib-dir=/usr \ --with-xpm-dir=/usr \ --with-freetype-dir=/usr \ --with-t1lib=/usr \ --enable-gd-native-ttf \ --enable-gd-jis-conv \ --with-openssl \ --with-mysql=/usr \ --with-pdo-mysql=/usr \ --with-gettext=/usr \ --with-zlib=/usr \ --with-bz2=/usr \ --with-recode=/usr \ --with-mysqli=/usr/bin/mysql_config make make install mkdir $HOME/tmp/usr/etc vi $HOME/tmp/usr/etc/php.ini
max_execution_time=600 memory_limit=128M error_reporting=0 display_errors=0 log_errors=0 user_ini.filename= realpath_cache_size=2M cgi.check_shebang_line=0 zend_extension=opcache.so opcache.enable_cli=1 opcache.save_comments=0 opcache.fast_shutdown=1 opcache.validate_timestamps=1 opcache.revalidate_freq=60 opcache.use_cwd=1 opcache.max_accelerated_files=100000 opcache.max_wasted_percentage=5 opcache.memory_consumption=128 opcache.consistency_checks=0
Now PHP must be installed and configured. The final check.
$ sapi/cli/php -v PHP 7.0.0-dev (cli) (built: Apr 28 2014 11:13:04) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.7.0-dev, Copyright (c) 1998-2014 Zend Technologies with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
You may run synthetic benchmarks
$ sapi/cli/php Zend/bench.php $ sapi/cli/php Zend/micro_bench.php
You may measure the performance of some web applications
$ sapi/cgi/php-cgi -T 1000 /var/www/html/wordpress/index.php > /dev/null''
You may do the same with callgrind profiler
$ valgrind --tool=callgrind --dump-instr=yes --separate-recs=1 sapi/cgi/php-cgi -T 100 /var/www/html/wordpress/index.php > /dev/null
Finally, you may run PHP as FastCGI server using CGI SAPI or FPM (it requires additional configuration)
$ PHP_FCGI_CHILDREN=4 PHP_FCGI_MAX_REQUESTS=0 sapi/cgi/php-cgi -b /tmp/fcgi-php
I would recommend build PHP from master and phpng branches and compare their performance
相关文章推荐
- PHP各种设计模式代码示例
- php扩展开发笔记(1)创建类的数组属性
- PHP计划任务之关闭浏览器后仍然继续执行的函数
- PHPStorm下XDebug配置
- php学习第二章:字符串处理函数(一)
- FTP服务器安装
- 总结-php
- PHPMailer使用教程(PHPMailer发送邮件实例分析)
- PHP分页类代码
- php查看mysql错误位置
- PHP运行模式
- php的webservice使用
- PHP获取POST数据的三种方法
- php将字符串随机分割成不同长度数组的方法
- php正则preg_replace_callback函数用法实例
- php获取网页内容方法总结
- 基于PHP的cURL快速入门教程 (小偷采集程序)
- CInternetSessio和CFtpConnection连接FTP
- [php] Thinkphp漂亮的分页
- PHP中对用户身份认证实现两种方法