【问题标题】:Disabling a PHP extension the easy way?以简单的方式禁用 PHP 扩展?
【发布时间】:2012-10-27 18:48:45
【问题描述】:

我正在使用不支持 PHP 的 PECL OAuth 扩展的开源库 (http://hybridauth.sourceforge.net)。如果您尝试使用它运行代码,它会显示“异常:Hybridauth Library 与安装的 PECL OAuth 扩展不兼容。请禁用它。”

说起来容易做起来难。

我通过 Amazon AWS Elastic Beanstalk (https://aws.amazon.com/elasticbeanstalk/) 托管我的网站。我选择了这个解决方案,因为它让您无需配置、无需 SSH、无需自定义 AMI,即可快速上手……

这意味着我不能轻易修改原始的 php.ini 文件或删除扩展文件。

有没有更简单的方法?即时禁用扩展?通过php方法?通过 htaccess 文件?诡计?

【问题讨论】:

  • 到目前为止,我可能已经找到了一种解决方法...修复了 HybridOAuth,这样它就不会阻止您使用此扩展程序。现在当然也许我在其他地方弄坏了其他东西......
  • 嗨,Nathan,您最后对此有何解决方案?我遇到了同样的问题。
  • 这是很久以前的事了...我在他们的 github 上发布了我的解决方案,但似乎他们已经禁用了公共问题。我发现有人在网上引用我的话:“基本上,在 Hybrid/thirdparty/OAuth/Oauth.php 文件中,我用 HOAuthException 替换了 OAuthException 的每个实例。然后在 Hybrid/auth.php 文件中,我注释掉了抛出的异常“我确认,它大部分都有效。
  • 感谢 Nathan,这解决了最初的问题。不幸的是,只是为了揭示另一个似乎已经在这里被问到的问题:stackoverflow.com/questions/18655472/…
  • 我也遇到过,对我来说这与未正确保存的会话有关。

标签: php apache hosting pecl


【解决方案1】:

不,您不能通过 PHP 方法调用禁用扩展。过去您可以添加它(使用dl()),但即使那样,您也无法在不播放ini文件的情况下删除任何添加的内容。

【讨论】:

    【解决方案2】:

    简短版:不,没有任何实际意义。

    如果您有可用的 runkit,您应该能够删除模块定义的函数或对象,但这实际上取决于安装 PECL OAuth 扩展时 HybridAuth 无法正常工作的原因。对于任何接近生产环境的东西,不建议这样做。

    【讨论】:

      【解决方案3】:

      如果你有你的 pem 密钥,你可以很容易地通过 ssh 进入你的实例。只需进入 ec2 控制台,选择您的实例并单击工具栏中的“连接”即可获取地址。然后您可以修改服务器上的任何文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-07
        • 1970-01-01
        • 2011-11-19
        相关资源
        最近更新 更多