我正在尝试创建一个非常简单的PHP CLI应用程序,可以从命令行作为phar文件运行:
# php myProject.phar
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所尝试的:
我的项目位于一个名为的目录中MyProject,它包含以下两个文件:
|-- createPhar.php
`-- bootstrap.php
Run Code Online (Sandbox Code Playgroud)
该bootstrap.php文件包含:
<?php
print phpversion() . PHP_EOL;
print 'i am some script' . PHP_EOL;
Run Code Online (Sandbox Code Playgroud)
当我从我的Ubuntu命令行运行此脚本时:
# cd MyProject
# php bootstrap.php
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
5.3.2-1ubuntu4.9
i am some script
Run Code Online (Sandbox Code Playgroud)
createPhar.php文件旨在将项目转换为Phar存档.它看起来像这样:
<?php
$phar = new Phar('MyProject.phar');
$phar->addFile('bootstrap.php');
$phar->setStub( $phar->createDefaultStub('bootstrap.php') );
Run Code Online (Sandbox Code Playgroud)
当我运行该脚本时......
# php createPhar.php
Run Code Online (Sandbox Code Playgroud)
... MyProject.phar在我的项目目录中创建了一个名为的新文件.
|-- bootstrap.php
|-- createPhar.php
`-- MyProject.phar
Run Code Online (Sandbox Code Playgroud)
当我运行phar文件时......
# php MyProject.phar
Run Code Online (Sandbox Code Playgroud)
...我希望看到与运行bootstrap.php脚本时相同的输出.
相反,我什么都看不见 完全没有输出.这意味着我的bootstrap.php …