У меня есть небольшая среда разработки с PHP-скриптом, который содержит только следующее:
whichuser.php
<?php var_dump( exec('whoami') ); ?>
Когда я пытаюсь выполнить этот «скрипт» через CLI, следующее происходит:
ubuntu@dev:/var/www/html/$ php whichuser.php
string(4) "root"
Однако, если я запускаю команду следующим образом, я получаю другой вывод:
ubuntu@dev:/var/www/html/$ /usr/bin/php whichuser.php
string(6) "ubuntu"
Я представляю, что это проблема с моими настройками PATH, они выглядят как следует:
ubuntu@dev:/var/www/html/$ echo $PATH
/home/ubuntu/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/bin/php:/snap/bin:/home/ubuntu/.composer/vendor/bin:/usr/bin/php
Это может выглядеть немного странно, так как я пытаюсь решить эту проблему самостоятельно.
Может кто-нибудь дать какие-нибудь предложения?
Если вопрос не ясен, я пытаюсь заставить команду CLI php
работать как текущий вошедший в систему пользователь, как и должно быть.
РЕДАКТИРОВАТЬ 1
Я выполнил указанную ниже команду в соответствии с вашими предложениями:
ubuntu@dev:/var/www/html/$ ls -l $( type -a -p php)
lrwxrwxrwx 1 root root 21 Jan 22 06:57 /usr/bin/php -> /etc/alternatives/php
Я не уверен, является ли эта символическая ссылка проблемой. Позволяет ли это понять, что происходит?
РЕДАКТИРОВАТЬ 2
Я также выполнил приведенную ниже команду из-за другого предложения:
ubuntu@dev:/var/www/html/$ type -a php
php is aliased to `sudo php'
php is /usr/bin/php
[ 1124] Похоже, эта псевдоним - виновник. Я так понимаю, так не должно быть?
РЕДАКТИРОВАТЬ 3 - Решение
Благодаря подсказке, предоставленной @wjandrea, я смог найти Баш файл псевдонимов в /home/ubuntu/.bash_aliases
.
php
работал как положено.
Я также удалил строку /usr/bin/php
из моей переменной PATH
, так как ее там быть не должно.
@wjandrea, если вы хотите правильно ответить на вопрос, я отмечу ваш ответ как решение, предоставив вам кредит, где он должен быть.
Команда php
была добавлена в sudo php
.
Я отредактировал свой файл /home/ubuntu/.bash_aliases
и удалил запись псевдонима.
Переписывание после этого решило проблему.