Intereting Posts
$ _POST пуст при использовании IntelliJ Создание выпадающего списка из многомерного массива Как я могу использовать API для получения данных quickbooks без браузера OAUTH? Фильтрация выбранных элементов из массива ассоциативных массивов Печать на POS-принтер из PHP Почему этот сорт в Solr не работает? Разделить PDF-документы на отдельные страницы с использованием PHP (или, возможно, perl) Как перенести мой сайт с mysql на mysqli? Обратите внимание на преобразование строки в строку с помощью nusoap Можно ли параметризовать имя таблицы в подготовленном заявлении? Следует ли проверять уникальные поля на уровне базы данных? Возможно ли, используя PHPUnit mock objects, ожидать вызова магического метода __call ()? Поврежденная кодировка UTF-8 при чтении фида / оповещения Google Почему я получаю такие точные результаты от `filesize`? RegEx для обнаружения строк с кодировкой base64

Как заставить PHP-версию для командной строки?

Я размещен с 1and1.com, и у меня есть настройки для обработки файлов с помощью php5 с использованием .htaccess .

Но это работает только в apache, а не в командной строке, которая по умолчанию соответствует серверу php4 по умолчанию.

Поэтому в настоящее время я не могу настроить задания cron для запуска моего кода как php5. Есть идеи?

Если оба установлены, все, что вам нужно сделать, это запустить скрипт с использованием соответствующего двоичного кода PHP.

Так, например:

  // Runs using the PHP binary located at /usr/bin/php * * * * * root /usr/bin/php -n "/path/to/script.php" 

или

  // Runs using the PHP binary located at /var/php5 * * * * * root /var/php5 -n "/path/to/script.php" 

Все, что вам нужно знать, это полный путь к файловой системе для двоичных файлов CLI PHP и вызов соответствующего кода для запуска вашего кода.

В соответствии с https://community.1and1.com/using-php-composer-at-1and1/ , создайте .profile в своем корневом проекте и добавьте строку:

 alias php='/usr/bin/php5.5-cli' 

Меня устраивает. Войдите в систему SSH и выполните:

 php -v 

Результат:

PHP 5.5.32 (cli) (построено: 15 февраля 2016 16:13:44)

Если вы можете выполнять скрипты PHP непосредственно в оболочке, например:

 $ script.php 

вы можете указать двоичный файл, который будет выполнять скрипт в первой строке:

 #!/usr/bin/php <?php 

Эта линия называется shebang . Строка может отличаться в вашей системе, вам нужно знать полный путь к файловой системе двоичного кода PHP CLI, который вы хотите использовать для этого скрипта.

Если вы запустите этот файл в оболочке, будет использоваться указанный двоичный код. То же самое для cron.

Если вы выполните этот файл через ваш веб-сервер, PHP отбросит эту строку молча.

См. Также: Возможности: Использование PHP из командной строки

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

Это еще один подход к принудительному использованию PHP из командной строки на 1 и 1.

Войдите в систему с помощью ssh на своем сервере и создайте новый файл с именем .profile там вы напишете следующий alias php='/usr/local/bin/php5' строки alias php='/usr/local/bin/php5' Войдите в систему с помощью ssh и проверьте версию php -v с помощью php -v должен увидеть версию сейчас 5.

Наконец, я получил эту работу. Проблема была в несколько раз.

Во-первых, используемый PHP был в / etc / bin вместо версии MAMP. Я смог изменить это и вместо этого использовать версию MAMP.

Во-вторых, чтобы использовать php через CLI, вы должны обязательно использовать полный путь к php, а не только сам php. Т.е. используйте вызов /MAMP/bin/php/php5.3.x/php в вызове exec (). Сейчас это работает для меня.

Вы можете проверить мой GIST здесь … https: //gist.github.com/1861487