Я пытаюсь запустить функцию из файла php и запустить его из Cli без необходимости ввода php deploy
так добавили притон так что клиент знает, как запустить скрипт.
например
#!/usr/bin/env php
<?php
if (PHP_SAPI !== 'cli') {
echo 'bin/deployer must be run as a CLI application' . "\n";
exit(1);
}
function deploy(){
echo "Deploying" . "\n";
}
foreach ($argv AS $arg){
function_exists($arg) AND call_user_func($arg);
}
Файл: развертыватель
Это работает нормально из корневого каталога и работает bin/deployer deploy
работает как положено. Мне просто интересно, почему, если запустить из каталога bin: deployer deploy
я получил -bash: deployer: command not found
попробуйте это внутри bin/
каталог:
./deployer deploy
Если вы опустите ./
перед вашим файлом ваша оболочка будет искать команду deployer
на вашем пути ($PATH
), вместо того, чтобы рассматривать его как путь к файлу для выполнения.
$PATH
это список каталогов, где ваша оболочка будет искать введенную вами команду.
Чтобы увидеть, что находится на вашем пути, попробуйте:
echo $PATH
Других решений пока нет …