Wordpress + Vagrant:SSH命令以非零退出状态响应

时间:2016-10-13 08:52:43

标签: php wordpress ssh vagrant

我正在跟随this tutorial设置带有流浪汉的Wordpress。但它似乎没有用。

我得到以下内容:

==> default: gpg: 
==> default: keyring `/tmp/tmpJZaDWh/secring.gpg' created
==> default: gpg: 
==> default: keyring `/tmp/tmpJZaDWh/pubring.gpg' created
==> default: gpg: 
==> default: requesting key E5267A6C from hkp server keyserver.ubuntu.com
==> default: gpg: 
==> default: /tmp/tmpJZaDWh/trustdb.gpg: trustdb created
==> default: gpg: 
==> default: key E5267A6C: public key "Launchpad PPA for Ond\xc5\x99ej Sur?" imported
==> default: gpg: 
==> default: Total number processed: 1
==> default: gpg: 
==> default:               imported: 1
==> default:   (RSA: 1)

然后:

==> default: E
==> default: : 
==> default: Unable to correct problems, you have held broken packages.
==> default: tee: 
==> default: /etc/php5/mods-available/xdebug.ini
==> default: : No such file or directory
==> default: xdebug.scream=1
==> default: xdebug.cli_color=1
==> default: xdebug.show_local_vars=1
==> default: sudo
==> default: : 
==> default: a2enmod: command not found
==> default: sed: can't read /etc/php5/apache2/php.ini: No such file or directory
==> default: sed: can't read /etc/php5/apache2/php.ini: No such file or directory
==> default: sed: can't read /etc/php5/cli/php.ini: No such file or directory
==> default: apache2: unrecognized service
==> default: /tmp/vagrant-shell: line 26: php: command not found
==> default: mv: 
==> default: cannot stat `composer.phar'
==> default: : No such file or directory
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

我不知道这意味着什么,真的,或问题所在。 Vagrant确实可以工作,我之前能够在没有错误的情况下启动一个流浪盒。正是在上述教程的上下文中,我遇到了问题。

编辑: 按照这里的建议,我改变了我的vagrantfile& install.sh。但是,我仍然得到同样的错误。以下是我修改过的文件:

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "ubuntu/precise64"
  config.vm.network :private_network, ip: "192.168.33.21"
  config.vm.provision :shell, :path => "install.sh"
  config.vm.synced_folder ".", "/var/www"

end

install.sh

sudo apt-get update

sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password password root'
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password root'

sudo apt-get install -y vim curl python-software-properties
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update

sudo apt-get install -y php5 apache2 libapache2-mod-php5 php5-curl php5-gd php5-mcrypt php5-readline mysql-server-5.5 php5-mysql git-core php5-xdebug

cat << EOF | sudo tee -a /etc/php5/mods-available/xdebug.ini
xdebug.scream=1
xdebug.cli_color=1
xdebug.show_local_vars=1
EOF

sudo a2enmod rewrite

sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php5/apache2/php.ini
sed -i "s/display_errors = .*/display_errors = On/" /etc/php5/apache2/php.ini
sed -i "s/disable_functions = .*/disable_functions = /" /etc/php5/cli/php.ini

sudo service apache2 restart

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

1 个答案:

答案 0 :(得分:0)

我认为本教程有点陈旧,肯定包含一些过时的信息。

使用最新的方框

本教程中使用的精确64框在过去两年内未更新,您应该使用此框的更新版本,因此请替换

  config.vm.box = "precise64"
  config.vm.box_url = "http://files.vagrantup.com/precise64.box"

只有一行

  config.vm.box = "ubuntu/precise64"

vagrant将自动从atlas下载该框

php repo已过时

示例中使用的php repo是deprecated

  

此PPA将被弃用,请使用ppa:ondrej / php

     

如果您需要其他PHP版本,请使用:

  PHP 5.4: ppa:ondrej/php5-oldstable (Ubuntu 12.04 LTS)
  PHP 5.5, PHP 5.6 and PHP 7.0: ppa:ondrej/php (Ubuntu 14.04 LTS - Ubuntu 16.04 LTS)

所以install.sh脚本将是

sudo apt-get update

sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password password root'
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password root'

sudo apt-get install -y vim curl python-software-properties
sudo add-apt-repository -y ppa:ondrej/php5-oldstable
sudo apt-get update

sudo apt-get install -y php5 apache2 libapache2-mod-php5 php5-curl php5-gd php5-mcrypt php5-readline mysql-server-5.5 php5-mysql git-core php5-xdebug

sudo a2enmod rewrite

sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php5/apache2/php.ini
sed -i "s/display_errors = .*/display_errors = On/" /etc/php5/apache2/php.ini
sed -i "s/disable_functions = .*/disable_functions = /" /etc/php5/cli/php.ini

sudo service apache2 restart

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

通过这2次更改,它应该已经让你处于一个更好的状态 - 它会启动,但正如现在说的那么老的帖子,如果你正在寻找开发,你应该看看升级堆栈 -