【问题标题】:OAuth issue on HostGatorHostGator 上的 OAuth 问题
【发布时间】:2021-10-27 18:19:26
【问题描述】:

我的网站有问题。我使用 HostGator,他们在 21 年 8 月 26 日更新了 我的 .htaccess 文件并指向与以前不同的 PHP 版本 有。这也发生在一月份,但我能够恢复到该版本 我以前使用过的 php 并自己解决了这个问题。这次修复是 不工作。我的网站中两个不再工作的主要组件是:

  1. OAuth
  2. 我的 php 脚本中的以下行(我无法再发送电子邮件)
    require_once "Mail.php";

OAuth 问题

早在 2015 年我最初开始使用 OAUTH 时,我只需在我的 php.ini 文件中添加以下行 extension=oauth.so

OAuth 没有被列为 HostGator 中的 php 模块之一,但情况一直如此 https://www.hostgator.com/help/article/php-modules

当我加载任何网页时,即使我已恢复到以前版本的 PHP,我也会在 error_log 中收到以下错误消息

PHP 启动:无法加载动态库 '/opt/cpanel/ea php56/root/usr/lib64/php/modules/oauth.so'
/opt/cpanel/ea-php56/root/usr/ lib64/php/modules/oauth.so:
无法打开共享对象文件: 第 0 行的 Unknown 中没有这样的文件或目录

我尝试在 cPanel 中使用“PHP PEAR Packages”来添加 OAuth。我使用了以下步骤。

  1. 我在查找“PHP 扩展和应用程序包”中搜索了“oauth”
  2. 我找到了 OAuth 1.0a 规范的“HTTP_OAuth (0.3.2)”PEAR 实现
  3. 我点击了“安装”
  4. 失败了。我得到了以下内容

警告:“pear/Console_Getopt”已被弃用,取而代之的是“pear/Console_GetoptPlus” pear/HTTP_OAuth 可以选择使用 PHP 扩展“pecl_http”(版本 >= 1.6.0)
pear/PEAR 需要 PEAR Installer(版本 >= 1.10.1),安装版本为 1.9.5
pear/PEAR 依赖包“pear/Archive_Tar”安装的1.4.14版本不是推荐的1.4.4版本,但可能兼容,使用--force安装
pear/HTTP_OAuth 需要包“pear/PEAR”(版本 >= 1.4.0)
pear/HTTP_Request2 需要包“pear/PEAR”(版本 >= 1.9.2)
pear/Cache_Lite 需要包“pear/PEAR”(版本 >= 1.10.1)
没有找到有效的包
安装失败

然后我尝试安装 PEAR (1.10.13) PEAR Base System。我使用了以下步骤。

  1. 我在查找“PHP 扩展和应用程序包”中搜索了“PEAR”
  2. 我找到了 PEAR (1.10.13) PEAR 基础系统
  3. 我点击了“安装”
  4. 失败了。我得到了以下 警告:“pear/Console_Getopt”已被弃用,取而代之的是“pear/Console_GetoptPlus”
    pear/PEAR 需要 PEAR Installer(版本 >= 1.10.1),安装版本为 1.9.5
    pear/PEAR 依赖包“pear/Archive_Tar”安装的1.4.14版本不是推荐的1.4.4版本,但可能兼容,使用--force安装
    没有找到有效的包
    安装失败

然后我做了一些研究。我打算尝试在我的主目录的 php 文件夹中本地安装它。我使用了以下步骤。

  1. 我从http://pecl.php.net/package/oauth下载了“oauth-1.0.0.tgz”
  2. 我将“oauth-1.0.0.tgz”上传到我的主目录中的 php 文件夹(我通过检查目录中已安装的 PHP 扩展和应用程序确认了这一点)
  3. 然后我在 PHP PEAR Packages 中的 Install a PHP Extensions and Applications Package 中输入“oauth-1.0.0.tgz”(不带引号)并单击“立即安装”
  4. 失败了。我得到了以下信息:
    没有可用于包“pear.php.net/oauth”的版本 - 可以使用“pecl install oauth”安装包 pecl/oauth 安装失败

此时我被卡住了。这超出了我目前的技能范围。

邮件问题

我的 php 脚本中的以下行(我无法再发送电子邮件)
require_once "Mail.php";

我在错误日志中收到以下消息
PHP 致命错误:require_once():无法打开所需的“Mail.php”(include_path='.:/opt/cpanel/ea-php56/root/usr/share/pear')

解决 OAuth 问题的方法应该与此修复类似,因为它也是一个 PEAR 模块。

【问题讨论】:

    标签: oauth pear


    【解决方案1】:

    oauth 是一个 pecl 包,您的 pear Web 界面可能只支持 pear 包,但不支持 pecl 包 - 这就是为什么您会得到“No release available for pear.php.net/oauth”的原因。没有任何事情是你一个人可以做的。


    HTTP_OAuth是pear包,但是需要Cache_Lite,需要PEAR 1.10.0+,而你的web服务器只有pear 1.9.5。

    升级 pear 基础系统不起作用,因为该 Web 服务器上的 pear 安装程序也卡在旧版本上。

    你迷路了。管理员需要将 pear 升级到 1.10.0+,然后才能安装 http_oauth。

    【讨论】:

    • 我认为这是一个正确的答案。
    猜你喜欢
    • 1970-01-01
    • 2011-07-22
    • 2011-04-04
    • 2017-06-28
    • 2023-04-06
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多