php - 使用 CLI 来使用 phar 文件不起作用

标签 php cygwin command-line-interface phar codeception

目前我正在尝试安装 codeception 并使用 CLI 获取文件并进行安装。我是 CLI 的新手,使用 SSH 连接。不过习惯就好了。我使用 $ WGET 下载文件,然后执行 $ php codecept.phar bootstrap

CLI (cygwin) 不执行任何操作。它只是创建一个新行 c?$ 然后我可以继续使用 CLI。但是什么也没有发生。所以我想我只是尝试使用 composer 来安装 codeception。使用 CLI 下载 composer.phar 并使用 $ php composer.phar 运行它。然后它创建一个新行????$。然后我可以再次使用 CLI,没有任何变化或发生任何事情。

我的假设是执行 phar 文件有问题。是不是设置有误?

一些额外的数据:

$ php -v:

PHP 5.3.27 with Suhosin-Patch (cli) (built: Jul 25 2013 14:17:18)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies

$ php -m:

包含代码概念所需的 phar 和 curl。

$ php -i:(Phar 部分)

Phar

Phar: PHP Archive support => enabled
Phar EXT version => 2.0.1
Phar API version => 1.1.1
SVN revision => $Id: 21d763042eb5769ae0a09dc1118df2b5aae6fb33 $
Phar-based phar archives => enabled
Tar-based phar archives => enabled
ZIP-based phar archives => enabled
gzip compression => enabled
bzip2 compression => enabled
OpenSSL support => enabled


Phar based on pear/PHP_Archive, original concept by Davey Shafik.
Phar fully realized by Gregory Beaver and Marcus Boerger.
Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle.
Directive => Local Value => Master Value
phar.cache_list => no value => no value
phar.readonly => On => On
phar.require_hash => On => On

最佳答案

Suhosin 阻止了 phar 文件,参见 http://cweiske.de/tagebuch/suhosin-phar.htm

解决方案:将 phar 协议(protocol)列入白名单:

$ emacs /etc/php5/cli/conf.d/suhosin.ini
.. add the following line:
suhosin.executor.include.whitelist = phar

这在 Composer 网站上有解释。

关于php - 使用 CLI 来使用 phar 文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19925526/

相关文章:

python - 停用 readline 自动完成

node.js - cygwin/windows下的npm脚本 : the syntax of the command is incorrect

linux - Apache 文件权限

ios - 使用按需资源自动上传 iOS AppStore

javascript - 多页倒数计时器

PHP 行数和列数

php - 从 mysql 表加载的 php 代码不会在输出页面上解释

windows - Windows 上是否有用于路由信息的 C/C++ API?

php - 从 CLI 执行多个同时的 php 脚本

PHP Shell_Exec 不工作?