2010-01-08 5 views
6

J'essaye de faire fonctionner l'extension xmlrpc pour php5 dans MAMP (1.8.4).Extension PHP xmlrpc et MAMP

j'ai vérifié quelle version de PHP 5 a été installé:

$ /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 

J'ai téléchargé les paquets source PHP 5.2.11 et construit une bibliothèque partagée pour xmlrpc:

$ LIBS=-lresolv ./configure --prefix=/opt --with-xmlrpc=shared 
$ make 
$ ls modules 
xmlrpc.a xmlrpc.la xmlrpc.so 

Je copié ces fichiers en MAMP:

$ cp modules/* /Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/ 

J'ai ajouté l'extension paramètre au fichier ini:

$ vi /Applications/MAMP/conf/php5/php.ini 
    extension=xmlrpc.so 

Je redémarrés MAMP:

$ ./bin/stop.sh 
$ ./bin/start.sh 

Quand je fais un phpinfo la seule référence à xmlrpc je trouve est dans la section de base PHP:

xmlrpc_error_number => 0 => 0 
xmlrpc_errors => Off => Off 

Je suis en train d'installer Moodle et il me dit toujours que l'extension xmlrpc n'est pas disponible. Je suis un novice de PHP, donc si quelqu'un pouvait me dire comment confirmer que l'extension est disponible ou non ce serait génial, ou au moins quelques conseils sur la façon de déboguer cela plus loin.

Merci.

MISE À JOUR: Je trouve le fichier journal de PHP et il a l'entrée suivante:

[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 

Répondre

0

utilisez-vous le package bundle MAMP du site moodle? http://download.moodle.org/download.php/macosx/Moodle4Mac-XAMPP-20.dmg Celui-ci devrait fonctionner.

La raison pour laquelle PHP n'a pas réussi à charger l'extension peut provenir du type d'architecture, PHP et son extension doivent utiliser le même paramètre de type d'architecture dans CFLAG.

J'avais un problème similaire, mais je n'utilisais pas MAMP, j'ai compilé PHP en utilisant la liaison statique, parfois, Mac OS X a eu problème pour charger la bibliothèque dynamique.

+0

j'avais déjà MAMP sur ma machine donc voulu installer en elle. Je ne sais rien sur CFLAGS, mais y a-t-il un moyen de savoir quel CFLAG a été utilisé pour construire la version de PHP livrée avec MAMP? (Peut-être que je devrais demander sur une liste de MAMP). –

+0

Ouais. J'ai le '/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/xmlrpc.so: aucune architecture correspondante dans le wrapper universel dans Unknown sur la ligne 0 'Erreur effrayante ... Comment as-tu résolu de le réparer? –

+0

Une solution à ce problème? J'ai eu le même problème que vous: S – chifliiiii

4

De cette façon, a fonctionné pour moi:

  • Téléchargé Moodle4Mac (Moodle est un logiciel qui a besoin de PHP et xmlrpc, et il est livré avec un XAMPP intégré);
  • Copie de xmlrpc.so à partir de ce package (le mien était sous /Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626) vers le dossier d'extension PHP de MAMP (le mien est /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/);
  • Ajouté extension=xmlrpc.so à PHP.INI.

Redémarré MAMP et c'était tout. J'espère que cela aide! :-)

+0

Merci Chester, j'espérais pouvoir le construire moi-même. –

+0

Oui, ce serait la meilleure solution. Mais après avoir tiré beaucoup de mes cheveux presque inexistants essayant de le faire, j'ai abandonné et a commencé à creuser pour un prêt-à-porter. Si vous découvrez comment le construire, s'il vous plaît laissez-nous savoir! – chesterbr

+0

Pouvez-vous partager le seul fichier xmlrpc.so? Il devrait être quelques Ko et il sera utile pour les connexions lentes, puisque Moodle est de 142 Mo. Merci. –

0

Assurez-vous simplement de déplacer le fichier xmlrpc.so à l'emplacement /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/ (version PHP pourrait être aussi 5.4 ou 5.5) Ensuite, redémarrez MAMP Ensuite, dans votre moodle installer suffit de cliquer sur continuer, il sera toujours dire que vous devriez vérifier l'installation il suffit de continuer. Il commencera l'installation et terminera l'installation de tous les modules et composants, quand tous installés appuyez sur Command F (MAC) ou Control F (Win) et recherchez xmlrpc.so Vous verrez que c'est réussi, donc ne vous inquiétez pas, il marchera.

0
  1. composants Télécharger MAMP de sourceforge http://sourceforge.net/projects/mamp/files/mamp/2.1.2/
  2. Extrait du fichier zip
  3. dans le dossier extrait vous verrez plusieurs archives php. Extrayez celui correspondant à votre version installée. (Dans mon cas, ma version installée était 5.5.9, mais la version la plus haute disponible à partir des composants de mamp était 5.4.4 donc j'ai utilisé cela puisque j'allais construire moi-même la source de toute façon).
  4. Du terminal cd dans le dossier ext du dossier php que vous avez extrait puis cd dans le dossier xmlrpc.
  5. Exécutez les commandes suivantes du terminal

    ./configure

    faire

  6. En cas de succès, copiez xmlrpc.so du dossier builds dans le dossier extensions de votre installation de PHP.
  7. Ajouter une extension = xmlrpc.so à php.ini
+0

J'ai trouvé ce guide: [link] (http: // carlosjlaurel .com /? p = 47) J'ai dû utiliser php 5.5.26 (j'avais un problème avec 5.6.x sur mamp) – massimilianoarceri