centos6.5编译安装php7

1.安装依赖软件库:

yum install -y libxml2-devellibtool* curl-devel libjpeg-devel libpng-devel freetype-devel

2.下载PHP7源码包进行编译安装

[root@iZ2zef0e6br88incakir9rZ opt]#wgethttp://cn2.php.net/distributions/php-7.0.14.tar.gz

[root@iZ2zef0e6br88incakir9rZ opt]# tar xf PHP-7.0.14.tar.gz

[root@iZ2zef0e6br88incakir9rZ opt]# cd PHP-7.0.14
[root@iZ2zef0e6br88incakir9rZ opt]# ./configure --prefix=/usr/local/PHP-7.0.14 --enable-fpm --enable-opcache --with-config-file-path=/usr/local/PHP-7.0.14/etc --with-MysqLi=MysqLnd --with-pdo-MysqL=MysqLnd --enable-static --enable-sockets --enable-wddx --enable-zip --enable-calendar --enable-bcmath --enable-soap --with-zlib --with-iconv --with-freetype-dir --with-gd --with-jpeg-dir --with-xmlrpc --enable-mbstring --with-sqlite3 --with-curl --enable-ftp --with-mcrypt --with-openssl --with-gettext--enable-pcntl

报错:configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解决:下载libmcrypt源码库

wget https://svwh.dl.sourceforge.net/project/mcrypt/libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
解决PHP编译报错configure: error: mcrypt.h not found. Please reinstall libmcrypt.
yum install -y epel-release
yum install -y libmcrypt-devel
两个不能一起安装,因为CentOs6默认的yum源没有 libmcrypt-devel这个包,只能借助epel的yum源,所以先安装epel,再安装
libmcrypt。


重新编译安装:
make && make install

3.配置文件PHP.ini

在安装包目录下找到并拷贝重命名到安装目录

cp PHP.ini-development /usr/local/PHP7/lib/PHP.ini


[PHP]
engine = On #是否启用PHP解析引擎
short_open_tag = On #是否使用简介标志
precision = 14 #浮点数中显示有效数字的位数
output_buffering = 4096 #输出缓冲区的大小
zlib.output_compression = Off #是否开启zlib输出压缩
implicit_flush = Off #unserialize_callback_func = #serialize_precision = 17disable_functions = #disable_classes = #zend.enable_gc = On #激活循环引用收集器。
expose_PHP = On #max_execution_time = 300 #程序执行最大时间,默认为30s,0表示没有时间限制,这里设置300s,可以自定义设置
max_input_time = 300memory_limit = 128Merror_reporting = E_ALLdisplay_errors = Offdisplay_startup_errors = On PHP有错误出理,就会提示,而且在事件查看器中有记录。如果设置为display_startup_errors = Off,则不会有任何提示
log_errors = Onlog_errors_max_len = 1024error_log=/data/log/PHP/error_PHP7.log 设置错误日志文件保存路径
ignore_repeated_errors = Offignore_repeated_source = Offreport_memleaks = Ontrack_errors = Onhtml_errors = Onvariables_order = "GPCS"此指令描述了PHP注册GET,POST,Cookie,环境 和 内置变量的顺序 (各自使用G,P,C,E 和 S,一般使用 EGPCS 或 GPC). 注册使用从左往右的顺序,新的值会覆盖旧的值
request_order = "GP"register_argc_argv = Offauto_globals_jit = Onpost_max_size = 16Mauto_prepend_file =auto_append_file = default_mimetype = "text/html"
default_charset = "UTF-8"
doc_root =user_dir =enable_dl = Offfile_uploads = Onupload_max_filesize = 2Mmax_file_uploads = 20allow_url_fopen = Onallow_url_include = Offdefault_socket_timeout = 60cgi.fix_pathinfo= 1
[CLI Server]
cli_server.color = On
[Date]
date.timezone = Asia/Shanghai设置区域时间
[Pdo_MysqL]
pdo_MysqL.cache_size = 2000pdo_MysqL.default_socket= 默认的socket时间
[Phar]
[mail function] 邮件功能
SMTP = localhostsmtp_port = 25mail.add_x_header = On 是否开启最大的header
[sql]
sql.safe_mode = Off对于每个不同数据库的连接函数,其默认值请参考相应的手册页面。
[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
[Interbase]
ibase.allow_persistent = 1
ibase.max_persistent = -1
ibase.max_links = -1
ibase.timestampformat = "%Y-%m-%d %H:%M:%s"
ibase.dateformat = "%Y-%m-%d"
ibase.timeformat = "%H:%M:%s"
[MysqLi]
MysqLi.max_persistent = -1MysqLi.allow_persistent = OnMysqLi.max_links = -1MysqLi.cache_size = 2000MysqLi.default_port = 3306MysqLi.default_socket =MysqLi.default_host = MysqLi.default_user =MysqLi.default_pw =MysqLi.reconnect = Off[MysqLnd]
MysqLnd.collect_statistics = On
MysqLnd.collect_memory_statistics = On
[Postgresql]
pgsql.allow_persistent = Onpgsql.auto_reset_persistent = Offpgsql.max_persistent = -1pgsql.max_links = -1pgsql.ignore_notice = 0pgsql.log_notice = 0
[bcmath]
bcmath.scale = 0
[Session]
session.save_handler = filessession.use_strict_mode = 0
session.use_cookies = 1session.use_only_cookies = 1session.name = PHPSESSIDsession.auto_start = 0session.cookie_lifetime = 0session.cookie_path = / session.cookie_domain = cookie的有效域名
session.cookie_httponly =session.serialize_handler = PHPsession.gc_probability = 1session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.referer_check =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
[Assertion]
zend.assertions = 1
[Tidy]
tidy.clean_output = Off
[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400
soap.wsdl_cache_limit = 5
[sysvshm]
[ldap]
ldap.max_links = -1
4.进程服务的配置文件PHP-fpm,把PHP-fpm引入www.conf文件中的配置
[root@iZ2zef0e6br88incakir9rZ etc]# cat /usr/local/PHP-7.0.14/etc/PHP-fpm.conf
include=/usr/local/PHP-7.0.14/etc/PHP-fpm.d/*.conf
[root@iZ2zef0e6br88incakir9rZ etc]# vim /usr/local/PHP-7.0.14/etc/PHP-fpm.d/www.conf
[global] 全局定义
log_level = notice错误级别. 可用级别为: alert(必须立即处理),error(错误情况),warning(警告情况),notice(一般重要信息),debug(调试信息). 默认: notice.
error_log=/data/log/PHP/error_PHP-fpm7.log错误日志文件保存路径
[www] 定义www的pool
user = www启动进程的帐户
group = www 启动进程组
listen = 127.0.0.1:9999fpm监听端口,即Nginx中PHP处理的地址
pm = dynamic pm的模式,分为static|dynamic两种
pm.max_children = 50子进程最大数
pm.start_servers = 10启动时的进程数
pm.min_spare_servers = 10保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程
pm.max_spare_servers = 50保证空闲进程数最大值,如果空闲进程大于此值,此进行清理
5.复制服务控制脚本PHP-fpm到系统服务脚本目录:
cp /opt/PHP-7.0.14/sapi/fpm/init.d.PHP-fpm /etc/init.d/PHP-fpm7 && chmod 755 /etc/init.d/PHP-fpm7
设置PHP7开启启动:
chkconfig --add PHP-fpm7
chkconfig PHP-fpm7 on
启动PHP:
service PHP-fpm7 start

centos6.5编译安装php7的更多相关文章

  1. HTML5 Web缓存和运用程序缓存(cookie,session)

    这篇文章主要介绍了HTML5 Web缓存和运用程序缓存(cookie,session),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  2. iOS Swift上弃用后Twitter.sharedInstance().session()?. userName的替代方案

    解决方法如果您仍在寻找解决方案,请参阅以下内容:

  3. 使用Fabric SDK iOS访问Twitter用户时间线

    我试图在这个问题上挣扎两天.我正在使用FabricSDK和Rest工具包,试图为Twitter使用不同的RestAPIWeb服务.我可以使用具有authTokenSecret,authToken和其他值的会话对象的TWTRLogInButton成功登录.当我尝试获取用户时间线时,我总是得到失败的响应,作为:{“errors”:[{“code”:215,“message”:“BadAuthentic

  4. ios – 如何从Apple Watch调用iPhone上定义的方法

    有没有办法从Watchkit扩展中调用iPhone上的类中定义的方法?根据我的理解,目前在Watchkit和iPhone之间进行本地通信的方法之一是使用NSUserDefaults,但还有其他方法吗?

  5. ios – 如何将视频从AVAssetExportSession保存到相机胶卷?

    在此先感谢您的帮助.解决方法只需使用session.outputURL=…

  6. ios – 使用AVCaptureSession sessionPreset = AVCaptureSessionPresetPhoto拉伸捕获的照片

    解决方法所以我解决了我的问题.这是我现在使用的代码,它工作正常:…重要的输出imagaView:一些额外的信息:相机图层必须是全屏,并且outputimageView也必须是.我希望这些对某些人来说也是有用的信息.

  7. 我可以在iOS中自定义Twitter工具包的登录按钮吗?

    我已经下载了Twitter工具包框架并添加了用Twitter登录的代码.但是,我不希望登录按钮看起来像那样.我想要一个用于登录的自定义按钮.我能这样做吗?我只想使用这个框架,因为这也适用于iOS系统帐户.解决方法根据document:在按下按钮中添加代码:Objective-C的迅速

  8. ios – AVCaptureSession条形码扫描

    解决方法以下是我所拥有的项目代码示例,可以帮助您走上正确的轨道

  9. .dylib在Debug中链接,在XCode中找不到适用于iPhone的版本

    所以我已经将libxml2.2.dylib库包含在我的iPhoneXCode项目中,以创建一些Xml和XPath解析实用程序.当我编译并运行在模拟器和设备的调试模式时,我没有问题,但是,当我切换到发布模式我得到…

  10. ios – 如何在Watch OS 2中引用不支持的框架

    有没有办法将框架链接到扩展名?

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部