Php pecl_http 已加载,但未定义任何函数
Php pecl_http loaded, but not defining any functions
我正在尝试使用 http_build_str()
和 http_build_url()
函数。我已经安装并启用了 pecl_http,但我仍然收到此错误:
Call to undefined function http_build_str()
我已经上下左右验证了扩展程序已安装并启用。我也已经遇到过如果他们的权限设置错误会发生的那种警告消息,所以我也可以排除这种情况。
然后我发现
extension_loaded() and get_extension_funcs()。他们的结果有点令人困惑:
print_r(extension_loaded('http')); // true
print_rt(get_extension_funcs('http')); // []
在进行健全性检查时,我 运行 这些函数针对我知道有效的不同扩展,并且我确实在函数数组中得到了一些结果。如您所见,"http_build_str" 和 "http_build_url" 并不像我预期的那样属于 get_extension_funcs()
的输出。有人可以帮忙吗?
以防万一,我将其设置在 Docker 容器中,我 认为 其配置的相关部分如下:
RUN apt-get update && apt-get install --no-install-recommends -y \
git-core \
build-essential \
openssl \
libssl-dev \
libcurl4-openssl-dev
RUN docker-php-ext-install pdo_mysql mbstring exif zip pcntl ftp
RUN docker-php-ext-configure gd --with-gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-png-dir=/usr/include/
RUN docker-php-ext-install gd
RUN pecl install propro raphf \
&& docker-php-ext-enable propro raphf \
&& rm -rf /tmp/pear
RUN pecl install pecl_http xdebug \
&& docker-php-ext-enable http xdebug \
&& rm -rf /tmp/pear
似乎 Php Manuel 在这方面有点过时了。
不知道我是怎么错过的,但这个问题与 .
重复
回复这个的评论里的link已经死了,官方文档好像动了。
https://mdref.m6w6.name/http/QueryString
似乎所有的功能都还在,只是一些 类 的形式,而不是功能。
$params = ['test1'=>'val1','test2'=>'val2'];
$queryHandler = new QueryString($params);
$queryString = (string)$queryHandler;
print_r($queryString); // test1=val1&test2=val2
我正在尝试使用 http_build_str()
和 http_build_url()
函数。我已经安装并启用了 pecl_http,但我仍然收到此错误:
Call to undefined function http_build_str()
我已经上下左右验证了扩展程序已安装并启用。我也已经遇到过如果他们的权限设置错误会发生的那种警告消息,所以我也可以排除这种情况。
然后我发现 extension_loaded() and get_extension_funcs()。他们的结果有点令人困惑:
print_r(extension_loaded('http')); // true
print_rt(get_extension_funcs('http')); // []
在进行健全性检查时,我 运行 这些函数针对我知道有效的不同扩展,并且我确实在函数数组中得到了一些结果。如您所见,"http_build_str" 和 "http_build_url" 并不像我预期的那样属于 get_extension_funcs()
的输出。有人可以帮忙吗?
以防万一,我将其设置在 Docker 容器中,我 认为 其配置的相关部分如下:
RUN apt-get update && apt-get install --no-install-recommends -y \
git-core \
build-essential \
openssl \
libssl-dev \
libcurl4-openssl-dev
RUN docker-php-ext-install pdo_mysql mbstring exif zip pcntl ftp
RUN docker-php-ext-configure gd --with-gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-png-dir=/usr/include/
RUN docker-php-ext-install gd
RUN pecl install propro raphf \
&& docker-php-ext-enable propro raphf \
&& rm -rf /tmp/pear
RUN pecl install pecl_http xdebug \
&& docker-php-ext-enable http xdebug \
&& rm -rf /tmp/pear
似乎 Php Manuel 在这方面有点过时了。 不知道我是怎么错过的,但这个问题与 .
重复回复这个的评论里的link已经死了,官方文档好像动了。 https://mdref.m6w6.name/http/QueryString
似乎所有的功能都还在,只是一些 类 的形式,而不是功能。
$params = ['test1'=>'val1','test2'=>'val2'];
$queryHandler = new QueryString($params);
$queryString = (string)$queryHandler;
print_r($queryString); // test1=val1&test2=val2