Yocto 中支持 PHP 的 Apache2

2023-11-30

我正在使用 Yocto 创建一个包含 apache2 的构建,但我很难添加 php 支持。我之前运行过它(阅读:去年),但从那时起,meta-openembedded 中的meta-webserver 层发生了变化。来自元网络服务器中的自述文件:

“该层用于提供构建 mod_php 的 modphp 配方,但是 现在,它已作为 meta-oe 中 php 配方的一部分构建。然而,自从 构建 mod_php 需要 apache2,apache2 配方在此 meta-oe 中的层和配方不能依赖它,mod_php 未构建 默认情况下。如果您确实希望使用 mod_php,则需要添加“apache2” 到 php 配方的 PACKAGECONFIG 值以启用它。”

我已将以下行添加到我自己的层中的 php 中:

PACKAGECONFIG_append =“apache2”

但是,当编译 mod_php 时找不到似乎是 apache 包含文件的内容时,我收到编译错误(我在下面只包含一个错误,我也收到 ap_config.h 的类似错误):

在 /home/martin/Yocto/poky/rpi/tmp/work/x86_64-linux/php-native/5.6.12-r0/php-5.6.12/sapi/apache2handler/mod_php5.c:26:0 包含的文件中: | /home/martin/Yocto/poky/rpi/tmp/work/x86_64-linux/php-native/5.6.12-r0/php-5.6.12/sapi/apache2handler/php_apache.h:24:19:致命错误: httpd.h:没有这样的文件或目录 |编译终止。

最近有没有人成功地编译了支持 php 的 apache2,并且可以就如何做到这一点提供一些帮助?谢谢!


在 Armin Kuster 的宝贵帮助下,我成功解决了我的问题。 Armin 注意到 PACKAGECONFIG_append = " apache2" 会覆盖现有的 PACKAGECONFIG 并仅设置“apache2”。根据他的建议,我更改了 bbappend 文件以包含以下内容:

DEPENDS = "apache2"
RDEPENDS_${PN} = "apache2"
PACKAGECONFIG = "sqlite3 apache2 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}”

我不知道 DEPENDS 和 RDEPENDS 是否还有必要,但它们似乎并没有什么坏处。

然后我意识到,仅将“php”添加到我的layer.conf 中并不能像过去那样构建二进制文件。我必须明确指定 php-cli 和 php-modphp。我的 layer.conf 现在包含以下内容:

IMAGE_INSTALL_append = " apache2 php php-cli php-modphp"

这样,PHP 配方就会构建并包含 php 二进制文件和 php apache 模块。但是,文件 /etc/apache/modules.d/70_mod_php5.conf 不会加载 PHP 模块,因为未定义 PHP5 环境变量(请参阅下面的默认文件)。我不知道在哪里指定环境变量,所以我最终在我自己的层中覆盖了这个文件,并且在我的版本中我只是删除了 IfDefine。

# vim: ft=apache sw=4 ts=4
<IfDefine PHP5>
        # Load the module first
        <IfModule !sapi_apache2.c>
                LoadModule php5_module    /usr/lib/apache2/modules/libphp5.so
        </IfModule>

        # Set it to handle the files
        AddHandler php5-script .php .phtml .php3 .php4 .php5
        AddType application/x-httpd-php-source .phps
        DirectoryIndex index.html index.html.var index.php index.phtml
</IfDefine>

我希望这可以对遇到同样问题的其他人有所帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Yocto 中支持 PHP 的 Apache2 的相关文章

  • ZF3/2 - 如何捕获 EVENT_DISPATCH 侦听器中引发的异常?

    有什么方法可以在 EVENT DISPATCH 监听器中抛出异常吗 class Module public function onBootstrap EventInterface event application event gt get
  • 如果产品重量超过1000克,如何以公斤为单位显示

    在 Storefront 主题中 我使用下面的代码将格式化重量从 1000g 更改为 1kg add action woocommerce after shop loop item title show weight 10 function
  • 在 ruby​​ 中使用 Blowfish 加密字符串返回的字符串比 php 中的相同过程要短

    这让我很困惑 当我尝试使用以下输入用 Blowfish 加密字符串时 key 某个键 输入 输入字符串 我得到以下结果 ruby 79af8c8ee9220bde php 79af8c8ee9220bdec2d1c9cfca7b13c6 我
  • C++ 相当于 PHP 的 pack()

    我的问题很简单 有没有类似 PHP 的pack and unpack C STL 中的函数 如果没有 是否有其他方法可以实现相同的目标 https www php net pack https www php net pack Thanks
  • 客户端和服务器端编程有什么区别?

    我有这个代码 为什么这不会将 bar 写入我的文本文件 而是警告 42 注意 这个问题的早期修订明确涉及服务器上的 PHP 和客户端上的 JavaScript 问题的本质和解决方案是相同的any当一种语言在客户端上运行而另一种语言在服务器上
  • 如何在 Laravel 5 中对合并集合进行分页?

    我正在创建一个包含两种类型的对象的流 BluePerson 和 RedPerson 为了创建流 我获取所有这两个对象 然后将它们合并到一个集合中 这样做之后 我需要对它们进行分页 但是分页似乎是针对雄辩的模型和数据库查询 而不是集合 我见过
  • 使用php在html页面中显示bbcode

    我已经有一个 bbcode 字符串 mybbcode b Hello word b 使用 php 我想在 html 页面中以 html 格式显示它 例如 div gt b hello word b div 基本上其他人已经对你说过了 但是如
  • 如何解析cURL返回的header?

    我正在尝试使用 cURL 与 API 进行通信 其中一种方法要求我传递ININ ICWS CSRF Token标题 即WAhtYWxoYXlla1dBY2NvUkRJWCQxZmUxZWFhZS0xZTE0LTQyNGYtYjdhZS0zN
  • php递归合并

    我需要以某种不同的方式合并一些数组 我使用 array merge recursive 然而 有一些事情我需要改变 但我不知道如何改变 这是来自 php net 的引用 但是 如果数组具有相同的数字键 则后面的值 不会覆盖原始值 但会追加
  • PHP 从日志事件中获取行号

    好的 我还有一个问题HERE https stackoverflow com questions 3213423 php how could i make this class better suggestions feedback wel
  • 限制分页页数

    objConnect mysql connect localhost root or die mysql error objDB mysql select db Test strSQL SELECT FROM UserAddedRecord
  • 同一路由组的多个前缀

    我正在为一所学校编写一个相当简单的网站 该网站有新闻 文章 视频剪辑 等 它的工作方式是在主页中我们向访问者展示一些课程 例如 gt math gt geography gt chemistry 用户在其中选择 1 网站内容会根据用户的选择
  • 如何使用php在mysql数据库中添加照片? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我对 PH
  • 无法在 PHPUnit 中使用数据提供程序运行单个测试

    使用命令行运行测试时遇到问题 如果我像这样运行 phpunit phpunit no configuration filter testAdd DataTest DataProviderTest php 效果很好 但是我们使用正则表达式来准
  • 在 PHP 中使用数组来比较用户名/密码

    我有以下 php 脚本 其中有一个用户名和密码 Username user1 Password pass1 if isset POST submitform Clean up the input values foreach POST as
  • 表单提交后显示 $_FILES['image']

    提交表单后如何显示上传的图片 提交表单后 它将是一个预览页面 因此我不会在 MySQLet 中存储图像类型 BLOB 如何显示 FILES image
  • PHP 中的简单 JSON 请求

    我有以下 json country code latitude 45 9390 longitude 24 9811 zoom 6 address city country Romania country code RO region 我只想
  • 如何在 PHP >= 5.3 严格模式下向对象添加属性而不产生错误

    这必须很简单 但我似乎找不到答案 我有一个通用的 stdClass 对象 foo没有属性 我想添加一个新属性 bar尚未定义 如果我这样做 foo new StdClass foo gt bar 1234 严格模式下的 PHP 会抱怨 将属
  • MySQL 正在将我的时间戳值转换为 0000-00-00

    我是 PHP 新手 目前仍在学习中 我认为我的注册表有问题 username password email全部成功插入MySQL registered and last seen不要 我以为我正在使用getTimestamp 错了 但它呼应
  • 如何更改phpmyadmin MySQL的IP地址?

    我在 xampp 中更改了 apache 的 IP 地址 但无法连接到 MySQL 我认为问题是我的 apache 不在我的数据库的同一网络上 我的 apache 位于 192 168 1 10 而我的 MySQL 位于 127 0 0 1

随机推荐

  • 解析 Json 数组导致 This is not a JSON Array 异常

    我正在尝试解析一个 Json 数组 如下所示 FoodItemData country GB id 100 name Steak and Kidney Pie description Tender cubes of steak with t
  • 在 Python GUI (PyQt) 中运行外部 exe

    我想在 python gui python 2 7 Windows PyQt 中运行 exe 例如 calc exe 或 cmd exe 有人知道我该怎么做吗 类似这样的事情 https www youtube com watch v N6
  • 我可以在回调中动态创建测试规范吗?

    我想检索页面上的元素列表 并为每个元素创建一个测试规范 我的 伪 代码是 fetchElements then element list foreach element it should have some property functi
  • 如何使用 Google Guice 绑定不同的接口?

    我是否需要创建一个新模块 并将接口绑定到不同的实现 Chef newChef Guice createInjector Stage DEVELOPMENT new Module Override public void configure
  • Python - 请求/RoboBrowser - ASPX POST JavaScript

    我正在移植一个 bash 脚本 该脚本使用curl 并将代码中的有效负载 POST 到 URL 并且可以正常工作 基本问题是 使用 robobrowser 我在使用页面表单发布时遇到了麻烦 逐步浏览该网站 登录 SubLogin aspx
  • 在opencv中求熵

    我需要一个像这样的函数entropyfilt 在matlab中 opencv中不存在 在Matlab中 J entropyfilt I 返回数组 J 其中每个输出像素包含输入图像 I 中相应像素周围 9 9 邻域的熵值 我写了一个函数在 C
  • 给类点击事件C#

    嗨 我只是想知道是否有一种方法可以为班级提供自己的点击事件 例如 我有一个卡片类 有没有办法知道用户何时单击该类中的矩形 显示卡片的图片 或者更好的是 我如何知道何时单击卡片矩形 要从 Windows 获取 鼠标已单击此处 消息 您需要有一
  • JTextArea 不动态更新

    我在一个类中有一个 JTextArea 我想动态更新它 目前它只显示我在所有处理完成后附加到它的文本 我尝试执行以下操作来修复它 public NewConsole initComponents public void write fina
  • 如何使用videoview流畅地播放url中的视频?

    我有一项活动VideoView 它正在播放来自 url 的视频 我所做的就是为了玩得顺利 我已经放了一个ProgressDialog在活动开始时 并在里面驳回它onPreparedListener这样才能玩得又好又流畅 但仍然没有帮助 视频
  • android - 如何使按钮闪烁?

    有没有什么方法 在代码中 使按钮持续闪烁 然后在按下时停止闪烁 有几种 具体取决于您所指的闪烁类型 例如 您可以使用 alpha 动画并在按钮第一次出现时启动它 当用户单击按钮时 在您的OnClickListener做就是了clearAni
  • 将围绕 sockaddr_storage 和 sockaddr_in 进行转换,打破严格的别名

    继我之前的question 我真的很好奇这段代码 case AF INET struct sockaddr in tmp reinterpret cast
  • 将原始 HTTP 请求转换为 HTTPWebRequest 对象

    在 NET 中 是否可以将原始 HTTP 请求转换为 HTTPWebRequest 对象 我确信 NET 内部正在这样做 知道 NET 的哪一部分实际上在处理这个问题吗 我可以调用它吗 或者是否有任何允许原始 HTTP 连接的外部库 我不相
  • dart 中的转义“正则表达式”

    我正在尝试捕获 dart 正则表达式中的符号 我的正则表达式如下所示 RegExp containsSymbolRegExp RegExp r lt gt 但是 我还需要让它捕获符号 但我不能把 放在那里 因为它会弄乱字符串 有什么想法如何
  • 如何比较数组中的日期以找到最早的日期?

    我有一个名为 dateArray 的变量 其中包含日期 例如 09 09 2009 16 07 2010 29 01 2001 我想用 for 循环找到最早的一个 所以结果是 29 01 2001 or dateArray 2 语言是jav
  • 选择窗口无法选择子窗口

    在我的 Java 代码中 单击 编辑描述 链接后 将打开一个窗口 即 Java 脚本窗口 此处的图像第一个给出带有属性的锚标记 第二个打开窗口 Image 1 Image 2 Window image Along with Page Sou
  • 在Python中将字符串二维列表转换回二维列表[重复]

    这个问题在这里已经有答案了 我刚刚开始玩Python 我知道我们可以使用 str 将任何列表转换为字符串 喜欢 gt gt gt l 1 1 2 2 3 3 gt gt gt l 1 1 2 2 3 3 gt gt gt type l
  • 太多的回溯:为什么这里有“重做”?

    我正在 Prolog 中做一个非常简单的练习 但跟踪中有些东西我不明白 该程序是一个 大于 gt 对表示为后继的整数 greater than succ 0 greater than succ A succ B greater than A
  • 如何清除p:dataTable中的所有输入字段?

    我将 JSF 2 0 与 PrimeFaces 一起使用 我有一个
  • CSS 位置 - 顶部 100% 不等于底部 0

    我在分配时注意到了这一点fixed定位到 css3 动画的元素 即top 100 没有得到相同的效果bottom 0 它定位文档外部的元素 而bottom 0 仍然显示整个元素 JSFiddle演示 css位置有相反的吗top 0 这会自动
  • Yocto 中支持 PHP 的 Apache2

    我正在使用 Yocto 创建一个包含 apache2 的构建 但我很难添加 php 支持 我之前运行过它 阅读 去年 但从那时起 meta openembedded 中的meta webserver 层发生了变化 来自元网络服务器中的自述文