2012-01-07 10 views
2

Je travaille sur un projet symfony utilisant MAMP.comment modifier php.ini dans CLI

Je suis en train de charger des données dans SQL du Terminal avec ce script:

php symfony doctrine: insert-sql

Je reçois cette erreur:

Impossible de trouver pilote nommé mysql

Les forums ont expliqué que pdo_sql devrait être activé.

Ceci est activé MAMP/conf/PHP5.2/php.ini et MAMP/conf/PHP5.3/php.ini

La documentation des recherches indique que le fichier php.ini dans le CLI est différent à partir du fichier php.ini situé dans Apache.

Comment puis-je localiser et éditer le fichier php.ini dans la CLI qui est évidemment différent de celui qui se trouve dans le répertoire MAMP?

Répondre

3

exécuter sur la ligne de commande:

php -info | grep Confi 

il devrait vous donner une sortie comme

Configuration File (php.ini) Path => /etc/php5/cli 
Loaded Configuration File => (none) 

Mais vous ne devez pas le modifier. Vous pouvez simplement utiliser celui qui est utilisé par MAMP:

php -c /path/to/your/php.ini symfony doctrine:insert-sql 
+0

Quand je lance le premier jeu de code, le retour est le: -bash: erreur de syntaxe près de jeton inattendu '(» Le deuxième ensemble soulève une autre question: Quand je lance php -c/Applications/MAMP symfony doctrine /conf/php5.3/php.ini: insert-sql Je reçois toujours l'erreur: tables création de la doctrine Impossible de trouver pilote nommé mysql d'autres idées –

+0

il vous suffit de courir 'php -info | grep Confi' Le reste est sorti ;-) –

+0

Ah oui. La lecture est: Fichier de configuration (php.ini) Chemin =>/etc Fichier de configuration chargé => /private/etc/php.ini J'ai donc ouvert le fichier php.ini dans ce répertoire et trouvé l'extension pdo_sql a été désactivé (; extension = php_pdo_mssql.dll & ; extension = php_pdo_mysql.dll) Lorsque j'ai activé les lignes, j'ai obtenu ceci: PHP Attention: PHP Démarrage: Impossible de charger la bibliothèque dynamique './pdo_pgsql.so' - (null) dans Unknown sur la ligne 0 PHP Attention: PHP Démarrage: Impossible de charger la bibliothèque dynamique './pdo_mysql.so' - (null) dans Unknown sur la ligne 0 Dois-je installer ou activer autre chose? –

3

OK, j'ai apporté plusieurs modifications à plusieurs fichiers. Je ne suis pas sûr d'où ça a commencé à fonctionner, mais c'est bon d'y aller maintenant. Je vais passer en revue mes modifications et j'espère que cela aidera les autres à résoudre ce problème.

D'abord, je fait des fichiers visibles dans le Finder en utilisant ce script dans le Terminal:

defaults write com.apple.finder AppleShowAllFiles TRUE 

killall Finder 

Deuxièmement, je trouve où mon fichier php.ini CLI a été localisé à l'aide du terminal (Merci à Cassy) en utilisant le script il a fourni:

php -info | grep Confi 

Ceci produit similaire à:

Configuration File (php.ini) Path => /etc 
Loaded Configuration File => /private/etc/php.ini 

Cette l'emplacement est pas correct pour activer le fichier pdo_mysql.so nécessaire pour symfony en utilisant MAMP.

Ainsi, marteau à la mode MOUCHE DOMESTIQUE, je couvrais ces étapes:

  1. php.ini Open in /Applications/MAMP/conf/php5.3/ et copier la ligne suivante:

    extension = pdo_mysql.so

  2. Ouvrez le php.ini dans/private/etc/(Ceci est où vous devez avoir les fichiers cachés mis à visible), et collez le code ci-dessus (extension = pdo_mysql.so) dans le fichier. Je l'ai collé sous les extensions commentées, mais je ne pense pas que ce soit important.

  3. .bash_profile Ouvrir dans le répertoire des utilisateurs (Ceci est normalement le nom de votre ordinateur, soit Carey, Steve, Holly)

  4. Insérer le code suivant:

    export PATH =:/Applications/MAMP/bin/PHP5.3/bin

  5. Enfin, httpd.conf ouvert et collez le code suivant:

    php_value include_path "/Applications/MAMP/conf/php5.3/php.ini" PH PIniDir "/Applications/MAMP/conf/php5.3/php.ini"

Après avoir redémarré Apache, je l'ai regardé mes infos php dans le Terminal:

php -i 

Et il a dit ceci:

Configuration File (php.ini) Path => /Applications/MAMP/conf/php5.3 
Loaded Configuration File => /Applications/MAMP/conf/php5.3/php.ini 

Maintenant dans Terminal, tapez php -m et il vous donnera une liste de modules php. Recherchez pdo_mysql dans la liste.

Si c'est le cas, utiliser symfony pour créer et remplir votre base de données devrait fonctionner.