как редактировать php.ini в CLI - PullRequest
2 голосов
/ 07 января 2012

Я работаю над проектом Symfony, используя MAMP.

Я пытаюсь загрузить данные в SQL из терминала с помощью этого сценария:

Учение php Symfony: insert-sql

Я получаю эту ошибку:

Не удалось найти драйвер с именем mysql

Форумы объяснили, что вы должны включить pdo_sql.

Это включено в MAMP / conf / php5.2 / php.ini и MAMP / conf / php5.3 / php.ini

Исследуемая документация утверждает, что файл php.ini в CLI отличается от файла php.ini, расположенного в apache.

Как я могу найти и отредактировать файл php.ini в CLI, который явно отличается от тех, которые находятся в каталоге MAMP?

Ответы [ 2 ]

3 голосов
/ 08 января 2012

ОК, я внес несколько изменений в несколько файлов.Я не уверен, где это начало работать, но сейчас хорошо идти.Я собираюсь просмотреть свои правки и, надеюсь, это поможет другим в этом вопросе.

Во-первых, я сделал файлы видимыми в Finder, используя этот скрипт в Терминале:

defaults write com.apple.finder AppleShowAllFiles TRUE

killall Finder

ВторойЯ обнаружил, где мой файл CLI php.ini находился с помощью терминала (спасибо Cassy) с помощью предоставленного им сценария:

php -info | grep Confi

. Вывод похож на:

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

Это расположение не правильно для активации файла pdo_mysql.so, необходимого для symfony с использованием MAMP.

Итак, в духе «молот к мухе», я рассмотрел следующие шаги:

  1. Откройте php.ini в /Applications/MAMP/conf/php5.3/ и скопируйте следующую строку:

    extension = pdo_mysql.so

  2. Откройтеphp.ini в / private / etc / (здесь вы должны иметь скрытые файлы, видимые), и вставьте приведенный выше код (extension = pdo_mysql.so) в файл.Я вставил его под закомментированные расширения, но я не думаю, что это имеет значение.

  3. Откройте .bash_profile в каталоге Users (обычно это имя вашего компьютера, то есть Кэри, Стив, Холли)

  4. Введите следующий код:

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

  5. Наконец, откройте httpd.conf и вставьте следующий код:

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

После перезапуска Apache я посмотрел информацию о своем php в Терминале:

php -i

И там было сказано:

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

Теперь в Терминале введите php -m, и он выдаст вам список модулей php.Ищите pdo_mysql в списке.

Если он есть, использование symfony для создания и заполнения вашей базы данных должно работать.

3 голосов
/ 07 января 2012

запустите это в командной строке:

php -info | grep Confi

это должно дать вам вывод типа

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

Но вам не нужно его редактировать.Вы можете просто использовать тот, который используется MAMP:

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