2016-01-05 2 views
1

Мой PHP-скрипт работает очень хорошо, когда выполняется через браузер, но показывает сообщение об ошибке при попытке выполнить с помощью командной строки.PHP-скрипт не работает при выполнении через командную строку, но отлично работает при запуске из браузера

Сначала я протестировал php-файл из командной строки, используя «system ('ls> /tmp/test.txt») в php-файле. Он работал нормально.

Но при выполнении запроса Mysql в PHP-скрипте через командную строку отображается ошибка. (Note: тот же самый запрос mysql в php-файле был успешно выполнен из браузера).

Команда: PHP FULLPATH ____/automatic.php

ошибка: PHP Фатальная ошибка: Вызов неопределенной функции mysqli_connect() в FULLPATH _____/automatic.php на линии № 7.

В чем проблема?

+0

разместить свой код ... я думаю, что mysqli_connect() нужны параметры – rdn87

+0

@ rdn87 Ошибка говорит, что функция не существует, это не связано с недостаточными параметрами. –

+0

@ KaloyanDoichinov Я думаю то же самое;) – rdn87

ответ

0

Обратите внимание, что РНР может полностью использовать различные конфигурации для CLI (командная строка) версии и тот, что сетевой сервер передает в (например, PHP-FPM)

означает, что ошибка, что расширение MySQL не включен для конфигурации CLI PHP. Войдите в качестве привилегированного пользователя и попробуйте: sudo php5enmod mysql, после этого должен работать.

+0

Я пробовал упоминать команду. Но получилось сообщение об ошибке: Команда не найдена. –

+0

Я могу найти команду «sudo php5enmod mcrypt» из поиска google. Указанное выше руководство отличается от этого? –

0

В командной строке php используется другой php.ini, чем браузер php. Вы должны установить расширение pdo_mysql. В системе Linux командная строка php.ini находится в

/etc/php5/cli/php.ini 

И браузер php.ini находится в

/etc/php5/apache2/php.ini 

Убедитесь, что у вас есть в том, что файлы

extension=pdo_mysql.so 
+0

Я проверил файлы, но не получил «extension = pdo_mysql.so». Нужно ли мне писать одну и ту же строку в php.ini или нужно ее установить? –

+0

или также хотите знать, в каком файле из php.ini, я должен добавить эту строку. –

+0

Получил ошибку после добавления «extension = pdo_mysql.so». «Предупреждение PHP: запуск PHP: невозможно загрузить динамическую библиотеку» /usr/lib/php5/20090626/pdo_mysqli.so '- /usr/lib/php5/20090626/pdo_mysqli.so: невозможно открыть файл общих объектов: такой файл или каталог в Unknown в строке 0 –

Смежные вопросы