【问题标题】:Can't get http to work in php无法让http在php中工作
【发布时间】:2021-08-25 18:56:05
【问题描述】:

我不断收到此错误:

PHP 警告:PHP 启动:无法加载动态库 '/usr/lib64/php/modules/http.so' - /usr/lib64/php/modules/http.so: undefined symbol: php_persistent_handle_abandon in Unknown on line 0

PHP 致命错误:在第 4 行的 /var/www/api/init.php 中找不到类“HttpResponse”

我已经通过 pecl 重新安装了几次 http,甚至尝试从 tar.gz 安装它。我正在运行一个 EC2 实例。

我已经在我的 php.ini 中添加了 extension=http.so。

【问题讨论】:

  • 你是怎么安装php的?我经常在多个模块位置不一致的 php 安装中看到这种情况。
  • 我使用 yum 安装了 php。我有 php 5.3。我刚刚尝试降级到 pecl http 1.6.7,它有效,但现在我找不到 http.so
  • 你也是通过 yum 安装 pecl 的吗?
  • pecl_http faild to load 的可能重复项

标签: php http amazon-ec2 pecl


【解决方案1】:

您可能获得了 pecl_http 的第 2 版,它有一些新的要求。请参阅installation instructions。对我来说,这些行有效:

extension=raphf.so
extension=propro.so
extension=http.so

编辑:顺序很重要,所以首先尝试与我使用的顺序相同。

我还确保在 json.so 和其他先决条件之后加载 http.so。

【讨论】:

  • 确保这是您在 php.ini 中列出时的确切顺序
【解决方案2】:

我在 Debian 上按照以下步骤成功安装了 pecl_http

  1. 执行 sudo pecl install raphf propro pecl_http
  2. 创建 /etc/php5/mods-available/zhttp.ini extension=raphf.so extension=propro.so extension=http.so
  3. 执行 sudo php5enmod zhttp
  4. 重启您的网络服务器

【讨论】:

  • 运行php -r 'http_post_data();' 仍然给我Call to undefined function http_post_data()
【解决方案3】:

因为我的 /etc/php/conf.d/ 用于附加 .ini 文件 我只是在它们前面加上数字

mv raphf.ini 1raphf.ini
mv propro.ini 2propro.ini
mv http.ini 3http.ini


# php --ini
Configuration File (php.ini) Path: /etc/php
Loaded Configuration File:         /etc/php/php.ini
Scan for additional .ini files in: /etc/php/conf.d
Additional .ini files parsed:      /etc/php/conf.d/1raphf.ini,
/etc/php/conf.d/2propro.ini,
/etc/php/conf.d/3http.ini,
/etc/php/conf.d/imagick.ini

【讨论】:

  • 实际上 http.ini 应该在所有其他扩展的最后加载。我将它重命名为 zzzhttp.ini,它解决了我遇到的另一个问题。
  • 天哪!非常感谢。这行得通。浪费了好几个小时.. 叹息
【解决方案4】:

这个解决方案在 php7.2-fpm 上对我有用

<?php
$db_host = "localhost";
$db_user = "xxxx";
$db_pass = "xxxx";
$connect = mysqli_connect($db_host,$db_user,$db_pass);
$db_name = "xxxx";

$db_select = mysqli_select_db($connect, $db_name);

// Empty table
$query = "TRUNCATE TABLE xtabletotruncatex";
mysqli_query($connect, $query);
?>

【讨论】:

    猜你喜欢
    • 2010-11-30
    • 2011-12-01
    • 2016-06-21
    • 2012-05-06
    • 2011-04-26
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    相关资源
    最近更新 更多