Расширение PHP xmlrpc и MAMP - PullRequest
       22

Расширение PHP xmlrpc и MAMP

6 голосов
/ 09 января 2010

Я пытаюсь заставить работать расширение xmlrpc для php5 в MAMP (1.8.4).

Я проверил, какая версия 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 Core:

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

Ответы [ 4 ]

4 голосов
/ 01 июня 2010

Этот способ работал для меня:

  • Скачано Moodle4Mac (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 и все. Надеюсь, поможет! : -)

0 голосов
/ 11 сентября 2014
  1. Загрузка компонентов MAMP из sourceforge http://sourceforge.net/projects/mamp/files/mamp/2.1.2/
  2. Распакуйте zip-файл
  3. Внутри извлеченной папки вы увидите несколько php-архивов. Извлеките тот, который соответствует вашей установленной версии. (В моем случае, моя установленная версия была 5.5.9, но самая высокая версия, доступная из компонентов mamp, была 5.4.4, поэтому я использовал ее, так как я собирался собрать исходный код сам).
  4. Из терминала cd в папку ext из папки php, которую вы распаковали, а затем cd в папку xmlrpc.
  5. Выполнить следующие команды с терминала

    . / Configure

    сделать

  6. В случае успеха скопируйте xmlrpc.so из папки builds в папку extensions вашей установки php.
  7. Добавить расширение = xmlrpc.so в php.ini
0 голосов
/ 02 мая 2014

Обязательно переместите файл xmlrpc.so в папку /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/ (версия PHP также может быть 5.4 или 5.5) Затем перезапустите MAMP Затем в вашей установке Moodle просто нажмите «Продолжить», все равно будет сказано, что вы должны проверить установку, просто продолжайте. Он начнет установку и завершит установку всех модулей и компонентов, когда все установленные нажмите Command F (MAC) или Control F (Win) и выполните поиск xmlrpc.so. Вы увидите, что это успешно, так что не волнуйтесь, это сработает.

0 голосов
/ 09 января 2010

Используете ли вы пакет MAMP с сайта Moodle? http://download.moodle.org/download.php/macosx/Moodle4Mac-XAMPP-20.dmg Этот должен работать.

Причина, по которой PHP не удалось загрузить расширение, может быть вызвана типом архитектуры, PHP и его расширение должны использовать один и тот же параметр типа архитектуры в CFLAG.

У меня была похожая проблема, но я не использовал MAMP, я компилировал PHP с использованием статического связывания, иногда в Mac OS X возникала проблема с загрузкой динамической библиотеки.

...