Как определить, какой PHP используется?
Например, если есть /usr/local/bin/php
и usr/local/bin/php5
как узнать, какой из них используется моими PHP-скриптами?
Если вы используете PHP CLI, попробуйте использовать эти команды оболочки (я предполагаю, что вы используете Linux здесь)
which php - will locate the php executable (this should be the default php used by you)
whereis php - The first path displayed will be the location of the php executable
echo $PATH - will print a list of paths separated by ":" where the system looks for commands
Если вы используете PHP в качестве модуля Apache, то phpinfo () сообщит вам об используемой версии php и файлах конфигурации php, а не пути php . Если у вас есть 2 версии исполняемого файла php, то это поможет вам. Если это одна и та же версия, то не имеет значения, кто есть кто :)
Если вы хотите узнать версию php, то php -v напечатает версию php в CLI и всех установленных модулях Zend.
Если вы хотите узнать, какие ini-файлы включены, то php --ini отобразит список ini-файлов, загруженных модулем php (это относится к версии CLI).
which
команда это то, что мне нужно.which
; используйтеcommand -v
вместо этого. Также см. Проверка, существует ли программа из скрипта Bash .Просто добавьте простой скрипт
источник
php
из логина пользователя; и не обязательно PHP, используемый Apache?Предполагая, что вы используете через веб-сервер:
вы можете поместить в скрипт следующую функцию:
Если это не работает, это может быть потому, что эта функция отключена в php.ini. Это часто делается для безопасности. Если это так, у вас в php.ini будет строка вроде:
Если это так, временно измените его на
Если вы используете php для сценариев оболочки:
Наверху должна быть «линия Шебанга», что-то вроде
#! / usr / local / bin / php -q
Вы уверены, что одно не является символической ссылкой на другое? делать
ls -l / usr / local / bin / php
Не ;-)
источник
Также из командной строки:
источник
php
из логина пользователя; и не обязательно PHP, используемый Apache?источник
Если вы говорите о своих веб-скриптах, которые вызываются вашим веб-сервером Apache, а PHP настроен как модуль Apache, то ответ НЕТ.
Местоположения, которые вы упоминаете в своем вопросе, являются интерпретаторами сценариев командной строки, которые будут вызываться с помощью обозначений shebang, таких как
в верхней части вашего сценария командной строки php
Вы можете позвонить переводчикам, которых вы упомянули отдельно, так как они имеют разные имена
позвонил бы / usr / local / bin / php и
позвонил бы / usr / local / bin / php5
Ни один из них не используется, если вы используете PHP через модуль Apache. Если вы используете CGI-версию php, она должна появиться в phpinfo (); вывод.
источник
источник
Это работает, даже если у вас нет доступа к оболочке. ;-)
источник