源码哥,靠谱的网站源码下载站 帮助 每日签到

源码哥

广告位《资讯详情页横幅-1150*?》

Unix系统平台下安装PHP的方法

  • 发布者:源码哥 时间:2022-09-06 13:05 阅读:59
  • 扫一扫,手机访问
广告位《资讯详情页摘要上方横幅-828*?》
摘要:有几种方法可以在UNIX平台上安装PHP。使用configure和compile进程,或者使用各种预编译的包。这篇文章主要关注PHP的配置和编译过程。许多Unix许可系统都有一个软件包安装系统,可以在标准配置中用来设置PHP。但是,如果需要与标准配置不同的功能(例如,安全服务器或其他数据库驱动扩展),则可能需要编译PHP或Web服务器。如果您不熟悉软件编译,请搜索以确定是否有人编译了包含所需功能的预编译包。编译所需的知识和软件:Unix

有几种方法可以在UNIX平台上安装PHP。使用configure和compile进程,或者使用各种预编译的包。这篇文章主要关注PHP的配置和编译过程。许多Unix许可系统都有一个软件包安装系统,可以在标准配置中用来设置PHP。但是,如果需要与标准配置不同的功能(例如,安全服务器或其他数据库驱动扩展),则可能需要编译PHP或Web服务器。如果您不熟悉软件编译,请搜索以确定是否有人编译了包含所需功能的预编译包。


编译所需的知识和软件:


Unix的基本技能(make和C编译器的操作)

ANSI C语言编译器

网络服务器

模块特定组件(如GD或PDF库)


如果直接从Git源文件或自己修改的包编译,则可能需要:


autoconf: 2.59+ (for PHP >= 7.0.0), 2.64+ (for PHP >= 7.2.0)

automake: 1.4+

libtool: 1.4.x+(除了 1.4.2)

re2c: 版本 0.13.4+

bison:

PHP 7.0 - 7.3: 2.4 或更高 (包含 Bison 3.x)

PHP 7.4: > 3.0


PHP的初始配置和安装由configure脚本中的一组命令行选项控制。所有可用的PHP编译选项和简要说明包括:./configure--help命令允许您查看。本手册单独介绍了这些选项。核心配置选项在附录中有记载,但扩展模块特定的配置选项在各自的函数参考页中有说明。


配置PHP后,可以开始编译模块和可执行文件。要执行此操作,请使用生成命令。


注意:


某些Unix系统(例如OpenBSD或SELinux)可能无法为文件设置写入和运行访问权限,这是出于安全原因,也称为“PaX MPROTECT”或“W^X违规”保护。但是,PCRE的JIT无法执行此操作,因此请参阅在安装过程中关闭PCRE的JIT支持,或者将相关的二进制文件添加到系统的保护白名单中。


注意:当前不支持ARM和Android工具链的交叉编译。


最近,我遇到了从源代码构建PHP7.1.13的情况。然而,当我运行makeinstall时,配置和make很好,它挂起了。事实证明,如果您正在使用Apache(apxs)构建PHP,make文件调用带有-a标志的apxs,该标志告诉它修改httpd。conf文件。如果由于任何原因,文件不可写,那么它将失败,您将面临挂起。


我的Makefile中的第108行如下所示:


INSTALL_IT = $(mkinstalldirs) '$(INSTALL_ROOT)/usr/lib64/httpd/modules' && $(mkinstalldirs) '$(INSTALL_ROOT)/etc/httpd/conf' && /usr/sbin/apxs -S LIBEXECDIR='$(INSTALL_ROOT)/usr/lib64/httpd/modules'      -S SYSCONFDIR='$(INSTALL_ROOT)/etc/httpd/conf' -i -a -n php7 libphp7.la


我不得不移除-a旗,然后就没事了。


使用Red Hat Fedora时,请注意安全增强的Linux,SELinux。


引用自Red Hat:“安全目标是确保Apache HTTP仅读取静态Web内容,而不执行任何其他操作,如写入内容、连接到数据库套接字、读取用户主目录等。”


这些限制包括,除其他外,使用mkdir创建目录,使用fopen访问文件,使用fopen或get_headers读取URL,或者使用exec来运行碰巧使用套接字的外部应用程序(或者访问一些文件,但当以Unix用户apache或httpd的身份从命令行执行时运行良好——例如从nweb2fax recvq.php和sendq.php调用的HylaFAX“faxstat”)。


请参阅/var/log/messages以了解SELinux策略导致的任何拒绝。要禁用它:


-系统、管理、安全级别和防火墙

-打开SELinux选项卡

-单击过渡树

-选中“禁用Apache HTTP的SELinux保护”

-执行/etc/init。d/httpd重启


相关连接: 网站源码 企业网站源码

  • 全部评论(0)
广告位《资讯详情页最新发布上方横幅-828*?》
最新发布的资讯信息
【网站开发|HTML】html编码设置(2022-10-17 11:26)
【网站开发|HTML】html添加注释的方法(2022-10-17 11:25)
【网站开发|HTML】html元素(2022-10-17 11:23)
【网站开发|HTML】html属性介绍(2022-10-17 11:22)
【网站开发|HTML】html标签说明(2022-10-17 11:21)
【网站开发|HTML】html的基本结构(2022-10-17 11:20)
【行业资讯|】如何学习好网站前端开发?(2022-10-14 14:53)
【网站开发|JavaScript】如何轻松学习JavaScript(2022-10-14 14:26)
【网站开发|node.js】NodeJS Service Docker映像终极优化指南(2022-10-14 14:14)
【网站开发|JavaScript】后端response响应返回图像,前端怎么下载图片?(2022-09-23 10:17)
联系我们
Q Q:472206683
微信:472206683
邮箱:472206683@qq.com
时间:09:00 - 24:00
联系客服
售前咨询 网站搭建 技术支持 联系客服
18639176864
手机版
手机版二维码
扫一扫进手机版
返回顶部