CentOS 7 编译安装PHP7
来源:互联网 发布:米哈伊洛维奇 知乎 编辑:程序博客网 时间:2024/05/30 23:49
环境说明
- VMware 12 中搭建的CentOS 7 x64 4核 2G内存
- 环境中已经安装了http://blog.csdn.net/u014595668/article/details/50166277 中编译安装的MySQL5.7.9
工具下载
编译环境:libmcrypt2.5.7下载、mhash-0.9.9.9下载、mcrypt-2.6.8下载
PHP安装包:php 7下载
用xftp把所有的工具上传到/root/目录中
创建php用户和用户组
首先创建一个名为php且没有登录权限的用户和一个名为php的用户组
- 1
- 2
- 1
- 2
编译安装php 7所需的依赖
编译安装 libmcrypt, mhash, mcrypt 二进制源码包
这里之所以编译安装libmcrypt,原因是yum安装的貌似会报错
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 1
- 2
- 1
- 2
PHP 7编译参数的配置
注意,操作时一定要先把下面反斜杠“\”后面添加的注释文字去掉!!!
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
执行上面的配置命令的运行结果如下:
开始编译安装PHP 7
- 1
- 1
PHP 7编译安装成功
选做步骤:执行make test命令进行测试
这是一个非必需的操作步骤,执行make test命令
查看编译成功后的PHP7安装目录
由于需要和MySQL进行通信,所以需要特别查看PHP7安装后的lib扩展库目录(/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/)。需要确保至少存在mysqli.so、pdo_mysql.so这两个动态库文件,如下图所示。
- 1
- 1
开始设置PHP7的配置文件php.ini、php-fpm.conf、www.conf和php-fpm脚本
可以用编译后的配置文件复制到PHP7的配置目录(/usr/local/php7/etc/),推荐使用 github中的配置。这个配置来自《PHP7中php.ini、php-fpm和www.conf的配置》
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
注意:需要修改php.ini配置中的参数,extension_dir改为自己的
- 1
- 1
其中在/etc/init.d/php-fpm中在start函数的守护进程前必须有make /var/run/php-fpm命令,否则重启服务器会导致启动失败,nginx中配置也有这个问题
添加php的环境变量
- 1
- 1
设置PHP日志目录和php-fpm进程文件(php-fpm.sock)目录
其中,设置php-fpm进程目录的用户和用户组为nginx,并创建php会话session目录
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
设置PHP开机启动以及测试配置文件是否正确
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
启动php服务
在完成上面的操作后,就可以正式使用php服务了。启动php进程服务的命令如下:
- 1
- 2
- 1
- 2
然后可以通过命令ps -aux|grep php查看是否成功(图中的php-fpm进程数和进程用户nginx都是由www.conf中pm.start_servers和user的值分别决定的):
查看PHP7版本信息
最后,可以通过命令php -v查看当前PHP版本信息,图中可以看到当前PHP7还使用了Zend OPcache缓存,是因为在php.ini文件中添加了zend_extension=opcache.so配置。
参考网址
CentOS 7.1编译安装PHP7
configure: error: mcrypt.h not found. Please reinstall libmcrypt
- CentOS 7 编译安装PHP7
- CentOS 7 编译安装PHP7
- centos 编译安装PHP7
- centos编译安装PHP7
- 新环境编译安装CentOS 7 php7
- CentOS 7.1编译安装PHP7
- CentOS 7.1编译安装PHP7
- CentOS 7.1编译安装PHP7
- CentOS 编译安装 php7 + nginx
- CentOS 7.1编译安装PHP7
- CentOS 6.7编译安装PHP7
- CentOS 7.1编译安装PHP7
- CentOS 7.1编译安装PHP7
- CentOS 7 安装PHP7
- Centos编译安装PHP7+Nginx1.9+MySQL5.7
- centos 6.6 编译安装PHP7.0.5
- Centos 6.5 编译安装PHP7.0.13
- vagrant中centos编译安装php7.1.9
- Property 'id' not found on type java.lang.String问题
- Java总结篇系列:Java多线程
- vue新手建议学习路线
- 关于Windows下python27各种包安装及更新过期的python库的问题
- TCP中的四种定时器
- CentOS 7 编译安装PHP7
- 京京_fieldset添加表格样式
- Struts2总结---数据封装机制 (10)
- 线程学习--实现Runnable接口
- C#---线程2
- 如何创建多线程
- python opencv 入门 加载视频 (2)
- 前端学习(四)
- SpringMVC上传文件的三种方式