PHP CLI (command line interface)

PHP има различни интерфейси (SAPI) за взаимодействие със средата, в която работи, и за връзка с външни (за PHP) технологии. Два от интерфейсите са PHP CLI и PHP CGI (FastCGI).

От версия 4.3.0 PHP поддържа допълнителен интерфейс, наречен CLI (Command Line Interface), който е предназначен за ползване през шел.

PHP CLI може да се ползва за създаване на PHP приложения, които могат да се стартират чрез крон задачи, за администриране, тестове и други цели подходящи за изпълнение през шел. PHP CLI работи директно в средата на сървъра, без да се обръща към CGI (FastCGI) интерфейса за връзка с уеб сървъра.

На сървърите за споделен хостинг и Managed VPS при СуперХостинг.БГ се поддържат и двата интерфейса на PHP – PHP CGI (FastCGI) и PHP CLI.

PHP CLI се различава от другите интерфейси основно по това:

  • че не връща HTTP хедъри; стартира по подразбиране с опция -q (quiet-mode), което предотвратява изпращането на хедъри към стандартния изход (stdout);
  • не променя работната директория с тази на изпълняващия се скрипт;
  • използва само обикновен текст за съобщенията за грешки; php.ini директивата е зададена: html_errors: FALSE. Това е така, защото е доста затруднено в команден режим да се четат съобщенията за грешки, които са в HTML код. Затова HTML форматирането е деактивирано;
  • някои php.ini директиви са системно зададени за PHP CLI, поради несвойствената им употреба при изпълнение през шела;
    • max_execution_time: 0 (unlimited) – няма ограничение за времето, което един скрипт може да се изпълнява;
    • max_input_time: FALSE – PHP CLI не поддържа GET, POST и качване на файлове;

PHP е конфигурирано и инсталирано на сървъра с два отделни изпълними/бинарни файла, използващи се за двата интерфейса CLI и CGI (FastCGI).

 За всички версии на PHP:
PHP FastCGI/opt/cpanel/ea-phpXX/root/usr/bin/php-cgi
PHP CLI/opt/cpanel/ea-phpXX/root/usr/bin/php
 ea-phpXX – заменете с версията на PHP,
например /opt/cpanel/ea-php72/root/usr/bin/php

Бележка: През cPanel » PHP Manager by SuperHosting можете да видите кои са наличните PHP версии.

Настройките на PHP се различават за двата интерфейса:

🔗 Ползване на различна PHP (cli) версия през SSH | Help
🔗 Ползване на различна PHP (cgi/fcgi) версия през Уеб | Help

🔗 Ползване на различен php.ini файл за PHP (cli) през SSH | Help
🔗 Ползване на различен php.ini файл за PHP (cgi/fcgi) през Уеб | Help

Обновена: 02.04.2022

Беше ли Ви полезна тази статия?

Вижте още