php 无法在命令行上运行

php 无法在命令行上运行

当尝试在 php 官方 docker 容器(php:5.6-apache)中运行 composer 安装脚本时,命令行似乎只是挂起等待输入

我尝试运行的命令如下

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

如果 Composer 手动安装在 /usr/bin 目录中并使用以下命令运行

composer

同样的事情发生了。PHP 似乎在等待输入时挂起,尽管您可以随时按 ctrl-c 并退出到终端。我尝试安装

apt-get install -y php5-cli

但这没有帮助。有什么想法吗?

答案1

以下是我输入的确切命令以及按照您的说明执行时发生的确切情况。我按照 进行操作root它工作得很好。对不起!

也许下面的内容会对你有所帮助。如果没有,我通常会strace在尝试任何过于复杂的事情之前快速查看这样的问题:

使用 strace

strace /usr/local/bin/composer

您的命令和输出

root@haze:~# curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
All settings correct for using Composer
Downloading 1.2.0...

Composer successfully installed to: /usr/local/bin/composer                                                                                                                                                                               
Use it: php /usr/local/bin/composer                                                                                                                                                                                                       
root@haze:~# /usr/local/bin/composer
Do not run Composer as root/super user! See https://getcomposer.org/root for details
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.2.0 2016-07-19 01:28:52

Usage:
  command [options] [arguments]

Options:
  -h, --help                     Display this help message
  -q, --quiet                    Do not output any message
  -V, --version                  Display this application version
      --ansi                     Force ANSI output
      --no-ansi                  Disable ANSI output
  -n, --no-interaction           Do not ask any interactive question
      --profile                  Display timing and memory usage information
      --no-plugins               Whether to disable plugins.
  -d, --working-dir=WORKING-DIR  If specified, use the given directory as working directory.
  -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  about           Short information about Composer
  archive         Create an archive of this composer package
  browse          Opens the package's repository URL or homepage in your browser.
  clear-cache     Clears composer's internal package cache.
  clearcache      Clears composer's internal package cache.
  config          Set config options
  create-project  Create new project from a package into given directory.
  depends         Shows which packages cause the given package to be installed
  diagnose        Diagnoses the system to identify common errors.
  dump-autoload   Dumps the autoloader
  dumpautoload    Dumps the autoloader
  exec            Execute a vendored binary/script
  global          Allows running commands in the global composer dir ($COMPOSER_HOME).
  help            Displays help for a command
  home            Opens the package's repository URL or homepage in your browser.
  info            Show information about packages
  init            Creates a basic composer.json file in current directory.
  install         Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
  licenses        Show information about licenses of dependencies
  list            Lists commands
  outdated        Shows a list of installed packages that have updates available, including their latest version.
  prohibits       Shows which packages prevent the given package from being installed
  remove          Removes a package from the require or require-dev
  require         Adds required packages to your composer.json and installs them
  run-script      Run the scripts defined in composer.json.
  search          Search for packages
  self-update     Updates composer.phar to the latest version.
  selfupdate      Updates composer.phar to the latest version.
  show            Show information about packages
  status          Show a list of locally modified packages
  suggests        Show package suggestions
  update          Updates your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  validate        Validates a composer.json and composer.lock
  why             Shows which packages cause the given package to be installed
  why-not         Shows which packages prevent the given package from being installed
root@haze:~# 

操作系统 = Ubuntu 16.04

相关内容