5
Я хочу запустить скрипт phar в качестве исполняемого файла, выполнив foo.phar <params>
вместо php foo.phar <params>
.Как сделать исполняемый файл phar?
Я хочу запустить скрипт phar в качестве исполняемого файла, выполнив foo.phar <params>
вместо php foo.phar <params>
.Как сделать исполняемый файл phar?
Это легко, изменив значение по умолчанию (добавив shebang, соответствующий php).
// start buffering. Mandatory to modify stub.
$phar->startBuffering();
// Get the default stub. You can create your own if you have specific needs
$defaultStub = $phar->createDefaultStub('index.php');
// Adding files
$phar->buildFromDirectory(__DIR__, '/\.php$/');
// Create a custom stub to add the shebang
$stub = "#!/usr/bin/php \n".$defaultStub;
// Add the stub
$phar->setStub($stub);
$phar->stopBuffering();
Поскольку PHP исполняемый не в '/ USR/BIN/php' на всех системах, то лучше использовать' #!/USR/бен/окр php' вместо этого. См. Http://tech.vg.no/2012/02/21/dont-hardcode-php-executable-path-in-shebang/ – chiborg
По какой-то причине он не работал на моем сервере Ubuntu 10.04LTS ... – magnetik
Этот метод работает в Windows? – weynhamz