- Linux где исполняемый файл php
- User Contributed Notes 7 notes
- unixforum.org
- Re: Где лежит интерпретатор php?
- Re: Где лежит интерпретатор php?
- Re: Где лежит интерпретатор php?
- Re: Где лежит интерпретатор php?
- Re: Где лежит интерпретатор php?
- Re: Где лежит интерпретатор php?
- Re: Где лежит интерпретатор php?
- Re: Где лежит интерпретатор php?
- Как загрузить PHP в Linux?
- Как узнать, установлен ли PHP в Linux?
- Где находится исполняемый файл PHP Linux?
- Установлен ли PHP на моем компьютере?
- Где запустить PHP-код?
- Нужно ли мне загружать PHP?
- Является ли PHP бесплатным программным обеспечением?
Linux где исполняемый файл php
- Указание конкретного файла для запуска.
$ php my_script.php $ php -f my_script.php
$ php -r 'print_r(get_defined_constants());'
Необходимо быть особо осторожным при использовании этого способа, т.к. может произойти подстановка переменных оболочки при использовании двойных кавычек.
Замечание: Внимательно прочтите пример: в нем нет открывающих и закрывающих тегов! Опция -r просто в них не нуждается, и их использование приведёт к ошибке разбора.
$ some_application | some_filter | php | sort -u > final_output.txt
Как и любое другое консольное приложение, бинарный файл PHP принимает аргументы, но PHP-скрипт также может получать аргументы. PHP не ограничивает количество аргументов, передаваемых в скрипт (оболочка консоли устанавливает некоторый порог количества символов, которые могут быть переданы; обычно этого лимита хватает). Переданные аргументы доступны в глобальном массиве $argv . Первый индекс (ноль) всегда содержит имя вызываемого скрипта из командной строки. Учтите, что если код вызывается на лету из командной строки с помощью опции -r, значением $argv[0] будет «Стандартный поток» («Standard input code»); до PHP 7.2.0 это был дефис ( «-» ). То же самое верно и для кода, переданного через конвейер из STDIN .
Вторая зарегистрированная глобальная переменная — это $argc , содержащая количество элементов в массиве $argv (а не количество аргументов, переданных скрипту).
Если передаваемые аргументы не начинаются с символа — , то особых проблем быть не должно. Передаваемый в скрипт аргумент, который начинается с — создаст проблемы, т.к. PHP решит, что он сам должен его обработать. Для предотвращения подобного поведения используйте разделитель списка аргументов — . После того, как этот разделитель будет проанализирован PHP, все последующие аргументы будут переданы в скрипт нетронутыми.
# Эта команда не запустит данный код, но покажет информацию об использовании PHP $ php -r 'var_dump($argv);' -h Usage: php [options] [-f] [args. ] [. ] # Эта команда передаст аргумент '-h' в скрипт, предотвратив показ справки PHP $ php -r 'var_dump($argv);' -- -h array(2) < [0]=>string(1) "-" [1]=> string(2) "-h" >
Однако, в Unix-системах есть ещё один способ использования PHP для консольных скриптов. Можно написать скрипт, первая строка которого будет начинаться с #!/usr/bin/php (или же другой корректный путь к бинарному файлу PHP CLI ). После этой строки можно поместить обычный PHP-код, заключённый в открывающие и закрывающие теги PHP. Как только будут установлены корректные атрибуты запуска на файл (например, chmod +x test), скрипт может быть запущен как обычный консольный или perl-скрипт:
Пример #1 Запуск PHP-скрипта как консольного
Предполагая, что этот файл назван test и находится в текущей директории, можно сделать следующее:
$ chmod +x test $ ./test -h -- foo array(4) < [0]=>string(6) "./test" [1]=> string(2) "-h" [2]=> string(2) "--" [3]=> string(3) "foo" >
Как можно увидеть, в этом случае не нужно заботиться о передаче параметров, которые начинаются с — .
Исполняемый PHP-файл может использоваться для запуска PHP-скриптов независимо от веб-сервера. В случае работы в Unix-подобной системе, необходимо добавить в первую строку файла #! (называемый также «shebang») чтобы указать, какая из программ должна запускать скрипт. На Windows-платформах можно назначить обработчик php.exe для файлов с расширениями .php или создать пакетный (.bat) файл для запуска скриптов посредством PHP. Строка, добавляемая в начале скрипта для Unix-систем, не влияет на их работу в ОС Windows, таким образом можно создавать кроссплатформенные скрипты. Ниже приведён простой пример скрипта, выполняемого из командной строки:
Пример #2 Скрипт, предназначенный для запуска из командной строки (script.php)
if ( $argc != 2 || in_array ( $argv [ 1 ], array( ‘—help’ , ‘-help’ , ‘-h’ , ‘-?’ ))) ?>
Это консольный PHP-скрипт, принимающий один аргумент.
Любое слово, которое вы хотели бы
напечатать. Опции —help, -help, -h,
или -? покажут текущую справочную информацию.
В приведённом выше скрипте в первой строке содержится shebang, указывающий что этот файл должен запускаться PHP. Работа ведётся с CLI -версией, поэтому не будет выведено ни одного HTTP -заголовка.
Скрипт сначала проверяет наличие обязательного одного аргумента (в дополнение к имени скрипта, который также подсчитывается). Если их нет, или если переданный аргумент был —help, -help, -h или -?, выводится справочное сообщение с использованием $argv[0] , которое содержит имя выполняемого скрипта. В противном случае просто выводится полученный аргумент.
Для запуска приведённого примера в Unix-системе, нужно сделать его исполняемым и просто выполнить в консоли script.php echothis или script.php -h. В Windows-системе можно создать пакетный файл:
Пример #3 Пакетный файл для запуска PHP-скрипта из командной строки (script.bat)
@echo OFF "C:\php\php.exe" script.php %*
Предполагая, что вышеприведённый скрипт называется script.php , а полный путь к CLI php.exe находится в C:\php\php.exe , этот пакетный файл запустит его с переданными параметрами: script.bat echothis или script.bat -h.
Также можно ознакомиться с модулем Readline для получения дополнительных функций, которые можно использовать для улучшения консольного PHP-скрипта.
В Windows запуск PHP можно настроить без необходимости указывать C:\php\php.exe или расширение .php . Подробнее эта тема описана в разделе Запуск PHP из командной строки в Microsoft Windows.
Замечание:
В Windows рекомендуется запускать PHP под актуальной учётной записью пользователя. При работе в сетевой службе некоторые операции не будут выполнены, поскольку «сопоставление имён учётных записей и идентификаторов безопасности не выполнено».
User Contributed Notes 7 notes
On Linux, the shebang (#!) line is parsed by the kernel into at most two parts.
For example:
1: #!/usr/bin/php
2: #!/usr/bin/env php
3: #!/usr/bin/php -n
4: #!/usr/bin/php -ddisplay_errors=E_ALL
5: #!/usr/bin/php -n -ddisplay_errors=E_ALL
1. is the standard way to start a script. (compare «#!/bin/bash».)
2. uses «env» to find where PHP is installed: it might be elsewhere in the $PATH, such as /usr/local/bin.
3. if you don’t need to use env, you can pass ONE parameter here. For example, to ignore the system’s PHP.ini, and go with the defaults, use «-n». (See «man php».)
4. or, you can set exactly one configuration variable. I recommend this one, because display_errors actually takes effect if it is set here. Otherwise, the only place you can enable it is system-wide in php.ini. If you try to use ini_set() in your script itself, it’s too late: if your script has a parse error, it will silently die.
5. This will not (as of 2013) work on Linux. It acts as if the whole string, «-n -ddisplay_errors=E_ALL» were a single argument. But in BSD, the shebang line can take more than 2 arguments, and so it may work as intended.
Summary: use (2) for maximum portability, and (4) for maximum debugging.
unixforum.org
На будущее: whereis -b имя_искомой_команды либо locate имя_искомой_команды (можно ещё так: locate имя | grep bin ).
rm_ Сообщения: 3340 Статус: It’s the GNU Age ОС: Debian Контактная информация:
Re: Где лежит интерпретатор php?
Сообщение rm_ » 12.12.2007 22:05
Re: Где лежит интерпретатор php?
только учтите, что
php, php4, php5, php-cgi, php-cli и т.п. — могут быть разными файлами, и, возможно, с разными настройками,
сам недавно на это напоролся.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
aim Бывший модератор Сообщения: 749 Статус: Санкт-Петербургский LUG ОС: GNU/Linux Контактная информация:
Re: Где лежит интерпретатор php?
Сообщение aim » 13.12.2007 12:05
нигде. вам нужно его отдельно поставить (Пакет называется php5-cli).
лежать будет как /usr/bin/php5
Санкт-Петербургская группа пользователей GNU/Linux https://spblug.org/
Адрес для электронных писем: aim@digital-activity.org
serzh-z Бывший модератор Сообщения: 8256 Статус: Маньяк ОС: Arch, Fedora, Ubuntu Контактная информация:
Re: Где лежит интерпретатор php?
Сообщение serzh-z » 13.12.2007 12:31
Re: Где лежит интерпретатор php?
Сообщение TweeKane » 13.12.2007 21:14
нету там:
# /usr/bin/php
bash: /usr/bin/php: Нет такого файла или каталога
MadDog Бывший модератор Сообщения: 2298 Статус: Добрый банщик Контактная информация:
Re: Где лежит интерпретатор php?
Сообщение MadDog » 13.12.2007 23:23
aim Бывший модератор Сообщения: 749 Статус: Санкт-Петербургский LUG ОС: GNU/Linux Контактная информация:
Re: Где лежит интерпретатор php?
Сообщение aim » 13.12.2007 23:43
при установленном php5-cli нет /usr/bin/php 😉
на самом деле это в пакете какая-то проблема
если поставить php4-cli то появляется /etc/alternatives/php и уже тогда можно сконфигурить его так чтобы /usr/bin/php указывал на php5.
вот только что на чистой инсталляции спецом проверил.
Санкт-Петербургская группа пользователей GNU/Linux https://spblug.org/
Адрес для электронных писем: aim@digital-activity.org
MadDog Бывший модератор Сообщения: 2298 Статус: Добрый банщик Контактная информация:
Re: Где лежит интерпретатор php?
Сообщение MadDog » 13.12.2007 23:56
aim
Ставил только php5 (как модуль к апачу, так и cli). Есть у меня и /usr/bin/php, которая является ссылкой на /etc/alternatives/php, которая в свою очередь является ссылкой на /usr/bin/php5.
maddog:[~] % ll /usr/bin | grep php [23:53] lrwxrwxrwx 1 root root 21 2007-04-16 23:52 php -> /etc/alternatives/php -rwxr-xr-x 1 root root 5515168 2007-10-25 01:26 php5
maddog:[~] % ll /etc/alternatives | grep php [23:54] lrwxrwxrwx 1 root root 13 2007-10-29 09:44 php -> /usr/bin/php5 lrwxrwxrwx 1 root root 29 2007-10-29 09:44 php.1.gz -> /usr/share/man/man1/php5.1.gz
P.S. PHP4 у меня на домашнем компе отродясь не стояло. Сразу ставил пятёрку.
Как загрузить PHP в Linux?
PHP в основном используется на стороне сервера (и JavaScript на стороне клиента) для создания динамических веб-страниц через HTTP, однако вы будете удивлены, узнав, что вы можете запускать PHP в терминале Linux без необходимости в веб-браузере.
Как узнать, установлен ли PHP в Linux?
Проверка и печать версии PHP, установленной на вашем сервере Linux и Unix
- Откройте окно терминала и введите следующие команды.
- Войдите на сервер с помощью команды ssh. …
- Показать версию PHP, выполнить: php –version ИЛИ php-cgi –version.
- Чтобы напечатать версию PHP 7, введите: php7 –version ИЛИ php7-cgi –version.
Где находится исполняемый файл PHP Linux?
1. Проверьте путь установки PHP в Linux. Команда whereis возвращает путь к исполняемому файлу. В приведенном ниже примере мы видим, что путь к исполняемому файлу PHP — / usr / bin / php, и он связан с файлом / www / server / php / 73 / bin / php (это настоящий PHP запускаемый файл).
Установлен ли PHP на моем компьютере?
1. Введите следующую команду, заменив [местоположение] на путь к вашей установке PHP. 2. При вводе php -v теперь отображается версия PHP, установленная в вашей системе Windows.
Где запустить PHP-код?
Запустите свой первый скрипт PHP
- Перейдите в каталог сервера XAMPP. Я использую Windows, поэтому каталог моего корневого сервера — «C: xampphtdocs».
- Создайте hello.php. Создайте файл и назовите его «hello.php»
- Код внутри привет. php. …
- Открыть новую вкладку. Запустите его, открыв новую вкладку в браузере.
- Загрузите hello.php. …
- Вывод. …
- Создать базу данных. …
- Создать таблицу.
Нужно ли мне загружать PHP?
Нет, если вы установили на свой компьютер веб-сервер (например, Apache), он не будет включать PHP. Вам необходимо установить его, если он вам нужен. Существуют такие приложения, как WAMP и XAMPP, которые без проблем установят Apache, MySQL и PHP на ваш компьютер.
Является ли PHP бесплатным программным обеспечением?
PHP — это язык сценариев общего назначения, предназначенный для веб-разработки. … Стандартный интерпретатор PHP, работающий на Zend Engine, — это бесплатное программное обеспечение, выпущенное под лицензией PHP. PHP был широко перенесен и может быть бесплатно развернут на большинстве веб-серверов практически во всех операционных системах и платформах.