首先推荐一篇文章
PHP
7
Release
Date
Arrived:
Will
Developers
Adopt
PHP
7?
-
PHP
Classes
blog
。
里面说到是否会去使用PHP7,就个人而言,我是毫不犹豫地使用的,但是生产环境就不是我说了算,所以只能自己在自己的开发环境里更新PHP的版本。那么,你呢?
笔者使用的是Linux的openSUSE42.1发行版,Yast里面还没有PHP7的安装包,于是乎只能自己手动编译安装了。作为一个PHP开发者,我是非常希望能够学会编译安装PHP7的,之前试过几次,但是每次安装都要上网找各种资料,于是乎,这次安装成功后就想把自己的安装过程以及遇到的问题记录下来,方便以后查阅和分享给需要的人。
下载源码并解压
进入正题,要编译安装PHP7,首先当然要下载PHP7的源码。你可以到
github
上clone,也可以到
PHP官网
下载。下载后解压到
/usr/local/src
目录,并将目录重命名为php7。进入目录。
配置编译参数
生成配置文件
./buildconf
配置
./configure
\
--prefix=/usr/local/php7
\
--exec-prefix=/usr/local/php7
\
--bindir=/usr/local/php7/bin
\
--sbindir=/usr/local/php7/sbin
\
--includedir=/usr/local/php7/include
\
--libdir=/usr/local/php7/lib/php
\
--mandir=/usr/local/php7/php/man
\
--with-config-file-path=/usr/local/php7/etc
\
--with-mysql-sock=/var/run/mysql/mysql.sock
\
--with-mcrypt=/usr/include
\
--with-mhash
\
--with-openssl
\
--with-mysqli=shared,mysqlnd
\
--with-pdo-mysql=shared,mysqlnd
\
--with-gd
\
--with-iconv
\
--with-zlib
\
--enable-zip
\
--enable-inline-optimization
\
--disable-debug
\
--disable-rpath
\
--enable-shared
\
--enable-xml
\
--enable-bcmath
\
--enable-shmop
\
--enable-sysvsem
\
--enable-mbregex
\
--enable-mbstring
\
--enable-ftp
\
--enable-gd-native-ttf
\
--enable-pcntl
\
--enable-sockets
\
--with-xmlrpc
\
--enable-soap
\
--without-pear
\
--with-gettext
\
--enable-session
\
--with-curl
\
--with-jpeg-dir
\
--with-freetype-dir
\
--enable-opcache
\
--enable-fpm
\
--disable-cgi
\
--with-fpm-user=nginx
\
--with-fpm-group=nginx
\
--without-gdbm
\
--disable-fileinfo
参数说明
prefix
PHP7安装的根目录
with-config-file-path
PHP7的配置文件目录
执行完上面的配置命令后的结果如下图所示:
执行上面命令的过程中会遇到一些依赖缺少的提示,下面列出我遇到的依赖问题:
错误:
configure:
error:
xml2-config
not
found.
Please
check
your
libxml2
installation.
解决:
zypper
install
libxml2-devel
错误:
configure:
WARNING:
unrecognized
options:
--with-mysql
解决:
取消这个选项,这个选项是不存在的
错误:
configure:
error:
jpeglib.h
not
found.
解决:
zypper
install
libjpeg-devel
错误:
configure:
error:
mcrypt.h
not
found.
Please
reinstall
libmcrypt.
解决:
zypper
install
libmcrypt-devel
错误:
checking
for
recode
support...
yes
configure:
error:
Can
not
find
recode.h
anywhere
under
/usr
/usr/local
/usr
/opt.
解决:
zypper
install
librecode-devel
总的来说,在配置的时候遇到没有的就打开Yast搜一下,如果有的话就安装,然后重新编译看还需要那些,如果在Yast找不到,那就上网找一下Google。
编译和安装PHP7
make
&&
make
install
其中,make之后可以选择make
test。只是一个可选步骤,不执行不知道有什么问题,不过笔者暂时还没遇到。
查看安装成功后的PHP7目录
编译安装成功后,查看PHP7的安装目录`ls
/usr/local/php7`:
设置PHP7的配置文件
cp
/usr/local/src/php7/php.ini-proction
/usr/local/php7/etc/php.ini
cp
/usr/local/src/sapi/fpm/init.d.php-fpm
/etc/init.d/php-fpm
cp
/usr/local/php7/etc/php-fpm.conf.default
/usr/local/php7/etc/php-fpm.conf
cp
/usr/local/php7/etc/php-fpm.d/www.conf.default
/usr/local/php7/etc/php-fpm.d/www.conf
设置环境变量
在/etc/profile
文件的最后一行加上
export
PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH
然后执行
source
/etc/profile
设置PHP日志目录和php-fpm进程文件(php-fpm.sock)目录
mkdir
-p
/var/log/php-fpm/
&&
mkdir
-p
/var/run/php-fpm
&&
cd
/var/run/
&&
chown
-R
nginx:nginx
php-fpm
将PHP设置为开机启动
chmod
+x
/etc/init.d/php-fpm
chkconfig
php-fpm
on
可以用chkconfig命令查看开机启动服务列表。
启动PHP服务
service
php-fpm
start
通过ps
aux
|
grep
'php'查看PHP是否启动成功
至此,PHP7就安装成功了,你也开始使用PHP7吧!
Ⅱ Mac 编译安装php7时提示“freetype-config not found”,怎么解决
做一个链接咯
ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h
Ⅲ 刚买了mac,请问怎么重新编译php
学习一下brew 使用brew,nginx mysql php都可以很容易的安装
Ⅳ mac下使用brew安装php开发环境~呢
开发机一直使用brew来安装PHP及其他的环境,今天把PHP升到7.1,由于7.1版本下还没有runkit的源,官方也没有更新支持到php7,庆幸Github上有人Fork后做了支持,所以无法使用brew安装,只能编译安装了。
首先下载runkit,解压,进入目录。
只好从 Nginx 上想其他的方案,毕竟之前曾利用 lua 脚本对 MySQL 连接请求进行改造过,果不其然,有类似的模块可以拷贝一个请求。
不知道是不是你需要的答案,建议你去后盾人那自学,最近他们在搞什么实训班培训的活动有时间可以去看看
Ⅳ 鸟哥:让php7达到最高性能的几个tips
1. Opcache
记得启用Zend Opcache, 因为PHP7即使不启用Opcache速度也比PHP-5.6启用了Opcache快, 所以之前测试时期就发生了有人一直没有启用Opcache的事情. 启用Opcache非常简单, 在php.ini配置文件中加入:
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1"
2. 使用新的编译器
使用新一点的编译器, 推荐GCC 4.8以上, 因为只有GCC 4.8以上PHP才会开启Global Register for opline and execute_data支持, 这个会带来5%左右的性能提升(Wordpres的QPS角度衡量)
其实GCC 4.8以前的版本也支持, 但是我们发现它支持的有Bug, 所以必须是4.8以上的版本才会开启这个特性.
3. HugePage
前面文章介绍过
4. Opcache file cache
开启Opcache File Cache(实验性), 通过开启这个, 我们可以让Opcache把opcode缓存缓存到外部文件中, 对于一些脚本, 会有很明显的性能提升.
在php.ini中加入:
opcache.file_cache=/tmp
这样PHP就会在/tmp目录下Cache一些Opcode的二进制导出文件, 可以跨PHP生命周期存在.
5. PGO
如果你的PHP是专门为一个项目服务, 比如只是为你的Wordpress, 或者drupal, 或者其他什么, 那么你就可以尝试通过PGO, 来提升PHP, 专门为你的这个项目提高性能.
具体的, 以wordpress 4.1为优化场景.. 首先在编译PHP的时候首先:
$ make prof-gen
然后用你的项目训练PHP, 比如对于Wordpress:
$ sapi/cgi/php-cgi -T 100 /home/zk/local/www/htdocs/ wordpress/index.php >/dev/null
也就是让php-cgi跑100遍wordpress的首页, 从而生成一些在这个过程中的profile信息.
最后:
$ make prof-clean$ make prof-use && make install
这个时候你编译得到的PHP7就是为你的项目量身打造的最高性能的编译版本.
Ⅵ mac怎么配置php7+nginx
安装好brew之后,先安装php7。安装php7之前,要先更新一下brew的源并加入一些第三方的库:
brew update
brew tap homebrew/pes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
然后就可以使用brew搜索php70的包并安装了!
Ⅶ 刚买了mac,请问怎么重新编译php
为了扩展管理方便,首先来安装pecl扩展管理器:
cd /usr/lib/php
sudo php install-pear-nozlib.phar
安装Redis、Memcache、Mongo等扩展。
sudo pecl install redis
sudo pecl install memcache
sudo pecl install mongo
sudo pecl install xdebug
将扩展配置添加的php.ini文件中:
extension=memcache.so
extension=mongo.so
extension=redis.so
zend_extension=xdebug.so
安装xcache,从官网下载Release-3.2.0解压缩并安装
tar xvf xcache-3.2.0.tar
cd xcache-3.2.0
phpize
/configure
make
sudo make install
配置XCache
[xcache]
xcache.size = 128M
xcache.var_size = 8M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.optimizer = Off
由于Mac自带的PHP环境是不包括mcrypt扩展的,所以需要下载同版本的php源码包,单独编译这个模块加载。从官网的归档里面找到php5.5.14的源码包,下载:http://php.net/releases/
tar zxvf php-5.5.14.tar.gz
cd php-5.5.14/ext/mcrypt/
phpize
。/configure
make
sudo make install
配置ext-mcrypt
extension=mcrypt.so
为了加速,还需要打开opcache。
zend_extension=opcache.so
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=0
; Determines if Zend OPCache is enabled for the CLI version of PHP
opcache.enable_cli=0
Ⅷ php7编译安装默认有哪些插件
安装PHP7后,点击查看phpinfo文件就知道默认安装了哪些插件了,采用PHPWAMP一键切换任意PHP版本,然后你看详细的phpinfo文件不就行了么。
用PHPWAMP绿色集成环境随便你折腾,同时运行几百个不同的PHP版本。
支持所有Windows系统,目前最新的Windows10也没问题。
PHPWAMP自带php5.2、php5.3、php5.4、php5.5、php5.6、php7这6个默认版本,拥有共生模式(与其他环境同时使用),单身狗霸体模式,强行打通阻碍运行网站。
如果还不满意,可以自定义设置任何PHP版本,700个PHP版本随便你切换。
这篇教程文章里提供700多个PHP版本下载。(700个PHP版本一键切换)
网络搜索这个文章标题:
PHP集成环境如何自定义PHP版本,同时运行多个php版本一键开启模块。
搜到的文章中,在文章的附件里有提供PHP历史版本下载,差不多700多个PHP版本。
Ⅸ 刚买了mac,请问怎么重新编译php
去后盾人那看看,视频资源多,都是一线教师亲自录制的,每个学员独立完成的希望能帮到你
Ⅹ Mac下安装php7报错如下,怎么操作
硬盘分区应该为GUID格式才得,NTFS格式是装不了的,还有就是分区分成GUID格式后,安装时到选盘的时候还要把分区的盘涂抹成MAC写入日式
最最主要的你机子是苹果机才得,要不装不下去,除非你用破解内核了的MAC系统!