Я размещен с 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