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

Я пытаюсь получить расширение 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, поэтому, если кто-то может сказать мне, как подтвердить расширение, доступно или нет, это было бы здорово или, по крайней мере, некоторые указатели на то, как отлаживать это дальше.

Благодарю.

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 

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

  • Загруженный Moodle4Mac (Moodle – это программное обеспечение, для которого нужны PHP и xmlrpc, и поставляется со встроенным XAMPP);
  • Скопировал xmlrpc.so из этого пакета (моя была в /Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626 ) в папку расширения PHP MAMP (моя /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/ );
  • Добавлено extension=xmlrpc.so для PHP.INI .

Перезапущенный MAMP, и все. Надеюсь, поможет! 🙂

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

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

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

Просто не забудьте переместить файл 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. Вы увидите, что это успешно, поэтому не беспокойтесь, он будет работать ,

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

    ./configure

    делать

  6. В случае успеха скопируйте xmlrpc.so из папки builds в папку расширений вашей установки php.
  7. Добавить расширение = xmlrpc.so в php.ini