我试图让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 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新手,所以如果有人可以告诉我如何确认扩展是否可用,那将是非常好的,或至少有一些关于如何进一步调试的指针。
感谢。
UPDATE :我找到了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
答案 0 :(得分:4)
这种方式对我有用:
/Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626
下)复制到MAMP的PHP扩展文件夹(我的是/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/
); extension=xmlrpc.so
添加到PHP.INI
。重新启动MAMP就是这样。希望能帮助到你! : - )
答案 1 :(得分:0)
您是否正在使用moodle网站上的MAMP捆绑包? http://download.moodle.org/download.php/macosx/Moodle4Mac-XAMPP-20.dmg这个应该有用。
PHP无法加载扩展的原因可能是由于体系结构类型,PHP及其扩展必须在CFLAG中使用相同的体系结构类型参数。
我遇到了类似的问题,但我没有使用MAMP,我使用静态链接编译PHP,有时,Mac OS X已经遇到了加载动态库的问题。
答案 2 :(得分:0)
请务必将xmlrpc.so文件移至/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/(PHP版本也可以是5.4)或5.5) 然后重启MAMP 然后在你的moodle安装中点击继续,它仍然会说你应该继续检查安装。 它将开始安装并将完成所有模块和组件的安装,当所有安装时按下命令F(MAC)或控制F(Win)并搜索xmlrpc.so 你会看到这是成功的,所以不要担心,它会起作用。
答案 3 :(得分:0)
从终端
运行以下命令./配置
请