Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP xmlrpc扩展和MAMP_Php_Mamp_Moodle - Fatal编程技术网

PHP xmlrpc扩展和MAMP

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

我试图让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新手,所以如果有人能告诉我如何确认扩展是否可用,那就太好了,或者至少有一些关于如何进一步调试的提示

谢谢

更新:我找到了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从该包(我的包位于
    /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,就这样。希望有帮助!:-)

只需确保将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时,它将开始安装并完成所有模块和组件的安装 你会看到这是成功的,所以别担心,它会成功的

  • 从sourceforge下载MAMP组件
  • 解压缩zip文件
  • 在提取的文件夹中,您将看到几个php归档文件。提取与已安装版本对应的版本。(在我的例子中,我安装的版本是5.5.9,但是mamp组件提供的最高版本是5.4.4,所以我使用了它,因为我要自己构建源代码)
  • 从终端cd放入解压缩的php文件夹的ext文件夹,然后将cd放入xmlrpc文件夹
  • 从终端运行以下命令

    /配置

    制造

  • 如果成功,请将xmlrpc.so从构建文件夹复制到php安装的扩展文件夹
  • 将extension=xmlrpc.so添加到php.ini

  • 我已经在我的机器上安装了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问题)