问题标签 [pecl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
1914 浏览

php - PHP:使用 Pecl/Pear,还是构建我自己的系统?

在构建我的一些 PHP 应用程序时,可以使用 PEAR/PECL 模块对很多功能进行编码,但是,有些使用它的人可能无法安装东西,这让我很困惑。

我是否应该放弃一些用户使用 PEAR/PECL 来实现功能,这些功能将使我能够比我编写自己的功能更快地编写系统代码,但意味着它将排除某些人使用它。

0 投票
6 回答
7123 浏览

php - PHP 中使用 PECL HTTP 类的并行 HTTP 请求 [答案:HttpRequestPool 类]


HttpRequestPool类提供了一个解决方案 。非常感谢那些指出这一点的人。

可以在以下位置找到一个简短的教程:http ://www.phptutorial.info/?HttpRequestPool-construct


问题

我想在 PHP 中发出并发/并行/同时的 HTTP 请求。我想避免连续的请求:

  • 一组请求需要很长时间才能完成;请求越多时间越长
  • 一个请求在一组中途超时可能会导致以后的请求无法发出(如果脚本有执行时间限制)

我设法找到了使用 cURL 在 PHP 中同时发出 [原文如此] HTTP 请求的详细信息,但是如果可能的话,我想明确地使用 PHP 的HTTP 函数

具体来说,我需要将数据同时发布到一组 URL。发布数据的 URL 不在我的控制范围内;它们是用户设置的。

我不介意是否需要等待所有请求完成才能处理响应。如果我将每个请求的超时时间设置为 30 秒并且同时发出请求,我知道我必须等待最多 30 秒(可能更多)才能完成所有请求。

我找不到有关如何实现这一点的详细信息。但是,我最近确实注意到 PHP 手册中提到了 PHP5+ 能够处理并发 HTTP 请求 - 我当时打算记下它,忘记了,再也找不到了。

单个请求示例(工作正常)

并发请求示例(不完整,清楚)

任何想法将不胜感激!

澄清1:我想坚持PECL HTTP功能:

  • 他们提供了一个不错的 OOP 界面
  • 它们在有问题的应用程序中被广泛使用,并且从维护的角度来看,坚持已经使用的应该是有益的
  • 与使用 cURL 相比,我通常必须编写更少的代码行来使用 PECL HTTP 函数发出 HTTP 请求 - 从维护的角度来看,更少的代码行也应该是有益的

澄清 2:我意识到 PHP 的 HTTP 函数不是内置的,也许我在那里用词错误,我会更正。我不担心人们必须安装额外的东西——这不是一个要分发的应用程序,它是一个带有服务器的网络应用程序。

澄清 3:如果有人权威地声明 PECL HTTP 不能做到这一点,我会非常高兴。

0 投票
6 回答
2597 浏览

php - Windows 是否包含 PHP?

是否有用于PHP的包含扩展的.dll版本?PECL4WIN 上包含的手册链接没有帮助。我没有编译器来构建我自己的 DLL。

注意:拼写“包括”是正确的!

编辑:我没有编译器,但确实认识有编译器的人......不过,这确实是最后的手段。

0 投票
3 回答
33244 浏览

php - 在 Windows 上安装 PHP 扩展

我使用的是 Windows XP 家庭版。我需要安装一些 PHP 扩展——memcache、APC、.etc。我非常想使用 PECL 来实现这一点。问题是 PECL 理所当然地认为我的计算机上会有某些程序。例如,在另一篇文章中,我读到您需要在计算机上安装 Microsoft Visual Studio C++。但是,我下载的新版 Visual Studio 没有 msdev.exe,而是使用了 vcbuild.exe,它的 api 完全不同,无法编译这些模块附带的 .dsp 文件。

所以我试图找到一个脚本来升级 dsp 以与 vcbuild.exe 一起工作......结果证明 vcbuild.exe 可以做到这一点,但当然这并没有成功。

我尝试的另一件事是为 Windows (nmake2make) 找到一个 make 脚本。但是模块的根文件夹中没有生成文件。

我还尝试下载 Cygwin 和 MinGW,希望找到一个可以像在 *nix 操作系统中一样简单工作的构建脚本,但无济于事。

我如何在 Windows 机器上使用安装 PHP 扩展?谁能帮我摆脱这种困境?

0 投票
2 回答
5157 浏览

php - PHP 的 Mailparse pecl 扩展的任何好的文档/教程

我正在寻找有关如何使用 PHP 的 Mailparse pecl 扩展的指导。PHP 网站上的文档不是很有帮助。

有没有人有这方面的经验并愿意分享一些建议?

0 投票
5 回答
1832 浏览

php - 向 PHP 核心添加函数

我有几个我写的函数,我经常在我的服务器上使用,有没有办法可以将它们添加到核心中,这样我就不必从外部文件中包含它们?

我正在运行 PHP5

0 投票
2 回答
1141 浏览

php - geoip + pecl + 64 位框

有没有人尝试在 64 位机器上通过 pecl 安装 geoip?

我可以在我的 32 位 Fedora 盒子上使用这些命令很好地安装 geoip。我不能在 64 位版本上。任何想法为什么?

yum install make gcc cpp gcc-c++ glibc glibc-headers php-pear php-devel geoip geoip-devel

pecl安装geoip

=> 在 64 位版本上,它在此处中断并显示以下消息:

在 /var/tmp/geoip/geoip.c:32 中包含的文件中:/var/tmp/geoip/php_geoip.h:62:22: 错误:运算符 '>=' 没有左操作数 (...) make: *** [geoip.lo] 错误 1 ​​错误:“制作”失败

谢谢你的评论,弗兰基

0 投票
4 回答
33438 浏览

php - 我可以使用 PECL 安装 memcached PHP 扩展吗?

我在从 PECL安装“ memcached ”PHP 扩展时遇到问题,尽管我可以成功安装“ memcache ”扩展。(它们是单独的 PHP 扩展。)

例如,这些命令可以正常工作:

$ sudo pecl 安装内存缓存
$ sudo pecl 安装 APC
$ sudo pecl 安装 oauth

但是,尝试安装 memcached 会导致错误:

$ sudo pecl install memcached
...
ld: library not found for -lmemcached
collect2: ld returned 1 exit status
make: *** [memcached.la] Error 1
ERROR: `make' failed

我在最近的英特尔 Mac 上使用来自 Mac Ports (macports.org) 的 pecl、memcached 和 libmemcached。libmemcached 库可以在 /opt/local 中找到:

/opt/local/include/libmemcached
/opt/local/include/libmemcached/libmemcached_config.h
/opt/local/lib/libmemcached.2.0.0.dylib
/opt/local/lib/libmemcached.2.dylib
/opt/local /lib/libmemcached.a
/opt/local/lib/libmemcached.dylib
/opt/local/lib/libmemcached.la

知道我可能做错了什么吗?

0 投票
3 回答
6692 浏览

c - PECL 安装失败

我浏览了每一个谷歌结果,阅读了所有关于这个错误的论坛帖子,但我无法解决它。

当使用 PECL 安装任何东西时,我总是会收到这个错误:

到那时为止,其他一切都成功了,他们砰!

我使用的是 CentOS 4.3,PEAR 是最新的稳定版本,GCC 是稳定的最新版本。一切正常,但 C 编译器似乎总是出错。我试图通过临时启用它来使 tmp 具有操作的正确权限:

但这不起作用。

我确实尝试了所有建议的方法,但均无济于事。有任何想法吗?

0 投票
1 回答
1305 浏览

php - 在 Windows 上构建 PECL 扩展

我想在 Windows 上构建一个旧版本的APC 。他们说(检查链接)

此 PECL 扩展的 DLL 当前不可用。另请参阅 Windows 部分的构建。

但所提到的指南不可用。你能推荐一个方法吗?