尝试在 Apache 上运行乘客时出现问题

2024-06-02

我在运行时遇到这个问题

httpd -t

httpd: Syntax error on line 545 of /private/etc/apache2/httpd.conf: Syntax error on line 1 of /private/etc/apache2/other/passenger.conf: Cannot load /Users/sbaidon/.rvm/gems/ruby-2.2.5/gems/passenger-5.3.5/b uildout/apache2/mod_passenger.so into server: dlopen(/Users/sbaidon/.rvm/gems/ruby-2.2.5/gems/passenger-5.3.5/buildout/apache2/mod_passenger.so, 10): no suitable image found. Did find:\n\t/Users/sbaidon/.rv m/gems/ruby-2.2.5/gems/passenger-5.3.5/buildout/apache2/mod_passenger.so: code signature in (/Users/sbaidon/.rvm/gems/ruby-2.2.5/gems/passenger-5.3.5/buildout/apache2/mod_passenger.so) not valid for use in p rocess using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.\n\t/Users/sbaidon/.rvm/gems/ruby-2.2.5/gems/passenger-5.3.5/buildout/apache2/mod_passen ger.so: stat() failed with errno=22

乘客安装很好。


我也遇到了这个问题:问题是 macOS Mojave 附带的内置 httpd 已打开库验证,这意味着它加载的任何模块都必须经过正确签名。不幸的是,mod_passenger.so 没有签名,因此加载失败。实际上,很多人在 macOS Mojave 上加载 Apache 模块时都遇到这个问题(尤其是在测试版期间),一些示例参考:

https://github.com/GrahamDumpleton/mod_wsgi/issues/357 https://github.com/GrahamDumpleton/mod_wsgi/issues/357 https://github.com/phpredis/phpredis/issues/1406 https://github.com/phpredis/phpredis/issues/1406

我相信可以在某处设置一个 plist 来授予 httpd 禁用库验证(com.apple.security.cs.disable-library-validation)的权利,如下所述https://developer.apple.com/documentation/security/com_apple_security_cs_disable-library-validation https://developer.apple.com/documentation/security/com_apple_security_cs_disable-library-validation。例如,这是最近的一个 WebKit 补丁,他们添加了它以允许插件加载:https://bugs.webkit.org/show_bug.cgi?id=183252 https://bugs.webkit.org/show_bug.cgi?id=183252。同样,Mozilla 人员正在谈论他们需要如何启用此(和其他)属性:.

不幸的是,我不做 macOS 开发(我只是做开发onmacOS),我完全不知道如何将其应用到内置的 Apache,抱歉。

在这一点上,我有点厌倦了每次重大的 macOS 更新都会削弱我所有的 httpd 设置,并且通常会很痛苦(这种情况很少见,但仍然很烦人),所以我正在做几年前就应该做的事情:停止使用内置的-in httpd 随 OS/X 一起提供,只需使用 Homebrew httpd。

这是我发现的一些关于设置 Homebrew httpd(并禁用内置 macOS httpd)的说明,它非常简单,您不必遵循all有关多个 PHP 版本等的说明:https://getgrav.org/blog/macos-mojave-apache-multiple-php-versions https://getgrav.org/blog/macos-mojave-apache-multiple-php-versions

如果有人能弄清楚如何在内置 httpd 中禁用库验证,或者是否有某种方法可以在 mod_passenger.so 上提供签名(似乎不太可能,因为 Homebrew 和 gem Passenger 都需要从源代码构建),那么您就不需要不需要废弃内置的httpd。但我个人认为最好的解决方案是完全放弃它并使用 Homebrew 版本。

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

尝试在 Apache 上运行乘客时出现问题 的相关文章

随机推荐

  • DeviceOrientationEvent:当 beta 接近/达到 90 度时如何处理疯狂的伽玛?

    有人有 DeviceOrientationEvent 经验并且有手机 平板电脑吗 在具有陀螺仪的设备上运行以下代码片段 我注意到当 beta 接近 90 度 设备指向上方 时 gamma 沿 y 轴左 右旋转 变得很大且不可预测 我假设这是
  • Django:无法为用于检索数据的模型实例化抽象模型

    我正在开发一个项目 该项目有一个 Djongo 抽象模型和一个主模型 当我尝试插入一个值时 它被插入而没有错误 但是当我尝试检索数据时 我得到 抽象模型无法实例化 这是我的模型 class Exam questions models Mod
  • 如何向javascript的日期时间对象添加24小时[重复]

    这个问题在这里已经有答案了 可能的重复 向 Javascript Date 对象添加小时 https stackoverflow com questions 1050720 adding hours to javascript date o
  • 使用 python 字典更新 MongoEngine 文档?

    是否可以使用 python 字典更新 MongoEngine 文档 例如 class Pets EmbeddedDocument name StringField class Person Document name StringField
  • ValueError:数学域错误,不断弹出

    我时常收到此消息 我尝试了所有的变化 改变我使用 sqrt 的方式 一步一步地做 等等 但这个错误仍然不断出现 这可能是一个菜鸟错误 我没有注意到 因为我是 python 和 ubuntu 的新手 这是我的源代码 一个非常简单的程序 To
  • 多个生产者,单个消费者:所有 goroutine 都在睡觉 - 死锁

    在继续工作之前 我一直遵循检查通道中是否有任何内容的模式 func consume msg lt chan message for if m ok lt msg ok fmt Println More messages m else bre
  • Android 中的自定义区域设置

    斯洛伐克的 Android 手机有一个自定义区域设置 en SK 和 cs SK 语言为捷克语或英语 位置为斯洛伐克 现在我想要有针对这些区域设置的字符串 默认方法是创建一个文件夹 values CountryCode 对于捷克共和国 它是
  • 带变量的 AWK 负正则表达式

    我在 bash 脚本中使用 awk 来比较两个文件以获取不匹配的行 我需要将第二个文件的所有三个字段 作为一个模式 与第一个文件的所有行进行比较 第一个文件 chr1 9997 10330 HumanGM18558 peak 1 150 1
  • 是否有 JavaScript 正则表达式相当于 Java 正则表达式中的交集 (&&) 运算符? [复制]

    这个问题在这里已经有答案了 在 Java 正则表达式中 您可以使用交集运算符 在字符类中以简洁地定义它们 例如 a z def d e or f a z bc a through z except for b and c JavaScrip
  • 将应用转移到另一个 Firebase 帐户

    我的个人 Firebase 帐户下有一些应用程序用于测试 但现在需要将应用程序转移到客户的帐户以进行计费 这可能吗 Thanks 我最近将一个项目的所有权转移到另一个帐户 您所要做的就是 转到 Firebase 控制台 然后选择要转移的项目
  • 设置 jdialog 框中文本的格式

    我有一个 JOptionPane JOptionPane showMessageDialog null text 文字是一个刺 String text Hello world 我想做的是改变文本的颜色 特别是一个单词 让我们说 你好 所以我
  • Gridview rowdatabound访问数据项vb

    我正在尝试将 ImageUrl 指向 GridView 中模板字段中的图像 但不断收到错误 你调用的对象是空的 在这一行 Dim imagePath As String rowView image path 我以前从未在 GridView
  • 使对象在运行时不可变 [C#]

    有什么方法 我希望利用反射 可以使实例化对象不可变及其所有公共财产 我有一个来自其他人的代码库 没有可用源 的类 我需要使用它 并且我基本上希望在实例化该类后 如果任何地方的任何代码段尝试调用该类中的公共设置器 则抛出异常 注意 我不想在类
  • 如何为 Gmail 开发 Chrome 扩展程序?

    我正在考虑为 Gmail 开发 Chrome 扩展程序 我想知道当前的最佳实践是什么 例如 默认情况下为每封电子邮件附加 GPG 签名 添加一个额外的按钮来执行某些操作 我已经有了 发送电子邮件并提示我完成某些操作的劫持操作 只是这些例子帮
  • NumericVector 和 vector 之间有性能差异吗?

    假设有人使用NumericVector和其他用途vector
  • 对象中的字符串插值

    我有以下代码 const answerObject setAnswerObject useState const answerItem question survey id selectedAnswer setAnswerObject an
  • 如何调试apache虚拟主机配置?

    我的 apache 虚拟主机配置再次出现问题 使用默认配置而不是我的特定配置 问题不在于配置错误 而在于如何解决它 有人有好的建议可以快速解决此类问题吗 更多信息 默认的conf文件是这样的 NameVirtualHost
  • 何时使用函子而不是 lambda

    是否存在创建函子比使用 lambda 更有意义的情况 我知道我的问题实际上是相反的何时在函子上使用 lambda https stackoverflow com questions 4686507 lambda expression vs
  • jQuery 验证:更改默认错误消息

    有没有一种简单的方法来更改默认错误值jQuery 验证插件 http jqueryvalidation org 我只是想重写错误消息 使其对我的应用程序更加个性化 我有很多字段 所以我不想为字段 x 单独设置消息 我知道我可以做到这一点 将
  • 尝试在 Apache 上运行乘客时出现问题

    我在运行时遇到这个问题 httpd t httpd Syntax error on line 545 of private etc apache2 httpd conf Syntax error on line 1 of private e