我似乎无法找到PHP 的Memcache D扩展.
有一些php_memcache.dll的汇编,但这不一样.
我缺少的主要是getMulti(),它在Memcache中不存在.
到目前为止我发现了这个,但是没有DLL:
我是Ubuntu的新手我想使用PECL id3包,所以我从Windows转移到了Ubuntu.
我安装了php5,apache2,libcurl,php5-dev,php-pear但是当我尝试安装php_http扩展时它出错了.它要求zlib和libcurl,我只需按回车键选择默认值,然后在最后发生错误:
maniteja@maniteja:~$ sudo pecl install pecl_http
downloading pecl_http-2.0.4.tgz ...
Starting to download pecl_http-2.0.4.tgz (152,350 bytes)
.....done: 152,350 bytes
64 source files, building
running: phpize
Configuring for:
PHP Api Version: 20121113
Zend Module Api No: 20121212
Zend Extension Api No: 220121212
Enable extended HTTP support [yes] :
where to find zlib [/usr] :
where to find libcurl [/usr] :
where to find libevent [/usr] :
building in /tmp/pear/temp/pear-build-rootcjY5MM/pecl_http-2.0.4
running: /tmp/pear/temp/pecl_http/configure --with-http --with-http-zlib-dir=/usr --with-http-libcurl-dir=/usr --with-http-libevent-dir=/usr
checking for grep that handles …Run Code Online (Sandbox Code Playgroud) 我在安装pecl memcached软件包时遇到了麻烦.
没有任何yum或pear/pecl安装命令的任何喜悦我提到这个问题安装PECL Memcached错误并开始尝试配置/制作手动
我正在使用pecl下载最新的(memcached-2.2.0)然后解压,phpize ...
如果我使用--disable-memcached-sasl进行配置,则configure完成但make失败.看起来像语法错误
In file included from /root/memcached-2.2.0/php_memcached_private.h:28,
from /root/memcached-2.2.0/php_memcached.c:26:
/root/memcached-2.2.0/php_libmemcached_compat.h:56: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘php_memcached_instance_st’
/root/memcached-2.2.0/php_memcached.c:328: error: expected declaration specifiers or ‘...’ before ‘php_memcached_instance_st’
/root/memcached-2.2.0/php_memcached.c:329: error: expected declaration specifiers or ‘...’ before ‘php_memcached_instance_st’
/root/memcached-2.2.0/php_memcached.c:330: error: expected declaration specifiers or ‘...’ before ‘php_memcached_instance_st’
/root/memcached-2.2.0/php_memcached.c: In function ‘php_memc_get_impl’:
/root/memcached-2.2.0/php_memcached.c:594: warning: passing argument 4 of ‘memcached_mget_by_key’ from incompatible pointer type
/usr/include/libmemcached/memcached_get.h:38: note: expected ‘char **’ but argument is of type ‘const …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Os x El Capitan上安装intl扩展.每次我跑sudo pecl install intl,我都会在最后一步得到跟随错误.我不知道为什么复制操作失败了.这是一个错误还是我错过了什么?
任何帮助真的很感激!
注:我已经安装autoconf和icu4c正确.
Build complete. Don't forget to run 'make test'. running: make INSTALL_ROOT="/private/tmp/pear/install/pear-build-rootM6zI6U/install-intl-3.0.0" install Installing shared extensions: /private/tmp/pear/install/pear-build-rootM6zI6U/install-intl-3.0.0/usr/lib/php/extensions/no-debug-non-zts-20121212/ running: find "/private/tmp/pear/install/pear-build-rootM6zI6U/install-intl-3.0.0" | xargs ls -dils 20728993 0 drwxr-xr-x 3 root wheel 102 Oct 19 19:33 /private/tmp/pear/install/pear-build-rootM6zI6U/install-intl-3.0.0 20729918 0 drwxr-xr-x 3 root wheel 102 Oct 19 19:33 /private/tmp/pear/install/pear-build-rootM6zI6U/install-intl-3.0.0/usr 20729919 0 drwxr-xr-x 3 root wheel 102 Oct 19 19:33 /private/tmp/pear/install/pear-build-rootM6zI6U/install-intl-3.0.0/usr/lib 20729920 0 drwxr-xr-x 3 root wheel 102 Oct …
所述HttpRequestPool类提供了一个解决方案.非常感谢那些指出这一点的人.
可以在以下网址找到简要教程:http://www.phptutorial.info/?HttpRequestPool-construct
问题
我想在PHP中进行并发/并行/同时的HTTP请求.我想避免连续请求:
我已经设法找到使用cURL在PHP中制作simultaneousuos [sic] HTTP请求的详细信息,但是如果可能的话,我想明确地使用PHP的HTTP函数.
具体来说,我需要将数据同时发布到一组URL.发布数据的网址超出了我的控制范围; 他们是用户设置的.
我不介意是否需要等待所有请求完成才能处理响应.如果我在每个请求上设置超时30秒并且同时发出请求,我知道我必须等待最多30秒(可能多一点)才能完成所有请求.
我找不到如何实现这一目标的细节.但是,我最近注意到在PHP手册中提到PHP5 +能够处理并发HTTP请求 - 我打算在当时记下它,忘记了,再也找不到它了.
单个请求示例(工作正常)
<?php
$request_1 = new HttpRequest($url_1, HTTP_METH_POST);
$request_1->setRawPostData($dataSet_1);
$request_1->send();
?>
Run Code Online (Sandbox Code Playgroud)
并发请求示例(不完整,清楚)
<?php
$request_1 = new HttpRequest($url_1, HTTP_METH_POST);
$request_1->setRawPostData($dataSet_1);
$request_2 = new HttpRequest($url_2, HTTP_METH_POST);
$request_2->setRawPostData($dataSet_2);
// ...
$request_N = new HttpRequest($url_N, HTTP_METH_POST);
$request_N->setRawPostData($dataSet_N);
// Do something to send() all requests at the same time
?>
Run Code Online (Sandbox Code Playgroud)
任何想法都将非常感激!
澄清1:我想坚持PECL HTTP功能:
我在从PECL 安装" memcached "PHP扩展时遇到问题,尽管我可以成功安装" memcache "扩展.(它们是单独的PHP扩展.)
例如,这些命令可以正常工作:
$ sudo pecl install memcache
$ sudo pecl install APC
$ sudo pecl install oauth
但是,尝试安装memcached会导致错误:
$ sudo pecl install memcached
...
ld:找不到-lmemcached的
库:collect2:ld返回1退出状态
make:***[memcached.la]错误1
错误:`make'失败
我在最近的Intel 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
知道我可能做错了吗?
我正在开发一个在Windows上运行的PHP项目,能够使用pecl_http而不是使用cURL并重新发明轮子以便做pecl扩展就像解析头文件所做的所有很酷的事情一样非常方便等等.
我读到的所有地方(包括PHP站点)都是pecl_http的Windows二进制文件不再与任何PHP安装打包在一起.我无法找到任何解释为什么不在任何地方.此外,http://pecl4win.php.net/已经失效多年了,我只能假设pecl4win项目已经死了.
有没有人知道发生了什么的故事,如果有一个很好的替代pecl_http,我可以在WIMP环境中运行?
我正在与Git上的许多开发人员合作开发一个项目,现有的代码库使用PECL YAML PHP扩展(v1.0.1).
我已经尝试了许多步骤在我的MAMP服务器上安装PECL YAML扩展,并且没有任何乐趣!
我假设其他开发人员在Linux上.
安装中的前几次尝试在我的php_error_log中显示此错误:
"[2011年7月16日11:29:13] PHP警告:PHP启动:无法加载动态库'/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts- 20090626/yaml.so' - dlopen(/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/yaml.so,9):找不到合适的图像.找到了:/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/yaml.so:macho-o,,,,,,,,,,,,,,,,
经过大量的时间谷歌搜索后,我意识到我并不孤单,这是因为我使用"./pecl i yaml"编译的扩展名是64位版本
"file yaml.so":yaml.so:Mach-O 64位包x86_64
但是,将此与我的MAMP设置上的工作扩展进行比较,即"file xdebug.so":
xdebug.so:具有2个架构的Mach-O通用二进制文件
xdebug.so(用于架构ppc):Mach-O bundle ppc
xdebug.so(用于架构i386):Mach-O bundle i386
所以我发现了一些帮助我确定确切问题的博客.
无法在32位MAMP服务器上运行64位扩展 - 这是有道理的.
我的安装过程是:
使用博客中的命令运行.configure:
"CFLAGS =' - O3 -fno-common -arch i386 -arch x86_64 -g -Os'LDFLAGS =' - O3 -arch i386 -arch x86_64'CXXFLAGS =' - O3 -fno-common -arch i386 -arch x86_64 -g -Os'./configure --disable-dependancy-tracking --disable-shared -enable-static"
使
"sudo cp modules/yaml.so /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/."
除了我之外,上述解决方案似乎对所有人都有效.
我的错误日志现在报告:
[16-Jul-2011 11:09:25] PHP警告:PHP启动:无效的库(可能不是PHP库)'yaml.so'在第0行的Unknown中
我现在花了好几个小时就需要你的帮助. …
安装ImageMagick PECL时出现此错误:
检查ImageMagick MagickWand API配置程序...在/ usr/local/bin/MagickWand-config中检查ImageMagick版本是否至少为6.2.4 ...找到版本6.8.6 Q16检查MagickWand.h头文件... configure:错误:无法找到头文件MagickWand.h错误:`/ root/tmp/pear/imagick/configure --with-imagick'失败的扩展名imagick.so安装在/usr/local/lib/php.ini/usr/local/bin/php没有php.ini整理/usr/local/cpanel/3rdparty/php/53/etc/php.ini ...没有变化
知道如何解决这个问题吗?
这是我的服务器配置:
我已经准备好了所有的东西,除非我试图加载pecl_http模块时它给了我以下警告并且它不会加载:
PHP Warning: PHP Startup: Unable to load dynamic library '/path/to/php/modules/http.so' - /path/to/php/modules/http.so: undefined symbol: php_persistent_handle_abandon in Unknown on line 0
Run Code Online (Sandbox Code Playgroud)
我试着到处寻找但没有运气.安装似乎很好,但我不知道它有什么问题.