PHP xmlrpc扩展和MAMP
我试图让xmlrpc扩展在MAMP(1.8.4)中为php5工作 我检查了安装的PHP 5的版本:PHP xmlrpc扩展和MAMP,php,mamp,moodle,Php,Mamp,Moodle,我试图让xmlrpc扩展在MAMP(1.8.4)中为php5工作 我检查了安装的PHP 5的版本: $ /Applications/MAMP/bin/php5/bin/php -v PHP 5.2.11 (cli) (built: Dec 12 2009 13:19:08) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies with Ze
$ /Applications/MAMP/bin/php5/bin/php -v
PHP 5.2.11 (cli) (built: Dec 12 2009 13:19:08)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies
我下载了PHP 5.2.11源代码包,并为xmlrpc构建了一个共享库:
$ LIBS=-lresolv ./configure --prefix=/opt --with-xmlrpc=shared
$ make
$ ls modules
xmlrpc.a xmlrpc.la xmlrpc.so
我将这些文件复制到MAMP中:
$ cp modules/* /Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/
我将扩展名设置添加到ini文件中:
$ vi /Applications/MAMP/conf/php5/php.ini
extension=xmlrpc.so
我重新启动了MAMP:
$ ./bin/stop.sh
$ ./bin/start.sh
当我执行phpinfo
时,我发现对xmlrpc
的唯一引用位于PHP核心部分:
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
我正在尝试安装Moodle,但它仍然告诉我xmlrpc扩展不可用
我是一个PHP新手,所以如果有人能告诉我如何确认扩展是否可用,那就太好了,或者至少有一些关于如何进一步调试的提示
谢谢
更新:我找到了PHP日志文件,它有以下条目:
[08-Jan-2010 23:37:52] PHP Warning: PHP Startup: Unable to load dynamic \
library '/Applications/MAMP/bin/php5/lib/php/extensions/ \
no-debug-non-zts- 20060613/xmlrpc.so' - (null) in Unknown on line 0
您是否使用moodle网站上的MAMP捆绑包?这个应该有用 PHP未能加载扩展的原因可能是由架构类型引起的,PHP及其扩展必须在CFLAG中使用相同的架构类型参数
我也遇到过类似的问题,但我没有使用MAMP,我使用静态链接编译PHP,有时Mac OS X在加载动态库时会遇到问题。这种方法对我很有效:
- 下载(Moodle是一个需要PHP和xmlrpc的软件,它带有内置的XAMPP)李>
- 将xmlrpc.so从该包(我的包位于
)复制到MAMP的php扩展文件夹(我的文件夹是/Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626
)李>/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/
- 将
添加到extension=xmlrpc.so
PHP.INI
重新启动MAMP,就这样。希望有帮助!:-) 只需确保将xmlrpc.so文件移动到/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/(php版本也可以是5.4或5.5) 然后重新启动MAMP 然后在您的moodle安装中单击continue,它仍然会说您应该检查安装是否继续。 当所有已安装的模块和组件按下命令F(MAC)或控制F(Win)并搜索xmlrpc.so时,它将开始安装并完成所有模块和组件的安装 你会看到这是成功的,所以别担心,它会成功的
我已经在我的机器上安装了MAMP,所以我想把它安装进去。我对CFLAGS一无所知,但是有没有办法找到CFLAG是用来构建MAMP附带的PHP版本的?(也许我应该问问妈妈的名单)是的。我遇到了“/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/xmlrpc.so:第0行未知的通用包装中没有匹配的体系结构”令人毛骨悚然的错误。。。你是怎么解决的?有什么解决办法吗?我遇到了和你们一样的问题:SI试图使用这个解决方案,但PHP给了我一个错误:“第0行未知的universal wrapper中没有匹配的架构”。但我可以使用tim st.clair的编译扩展来完成这项工作。可以从这个链接下载,附在消息后面:一个重要的细节是MAMP有很多php.ini文件,这让我对应该编辑哪个文件感到困惑。在我的例子中,对我有效的路径是:/Applications/MAMP/conf/php5.3.27。希望这有帮助。谢谢切斯特,我希望自己能建造。是的,这将是最好的解决方案。但在我尝试做了很多几乎不存在的头发之后,我放弃了,开始挖一根现成的头发。如果你知道如何建造它,请让我们知道!您可以共享单个xmlrpc.so文件吗?它应该是几KB,这将有助于低速连接,因为Moodle是142MB。谢谢。我尝试过这个解决方案,但没有成功。仍在等待.so文件作为替代解决方案我尝试了这个解决方案,但没有成功。我想这与两个程序的更新有关。Moodle4Mac现在使用PHP5.3.2,MAMP使用PHP5.4.4。我无法下载旧的xmlrpc.so文件,所以这里是我刚从Moodle4Mac创建的文件。我找到了这个指南:我必须使用PHP5.5.26(在mamp上有5.6.x问题)