0

Due to a legacy project, I am running Windows Server 2008 R2 Standard with Ampps using Vagrant. This is the environment I am stuck using for now...

My issue is that I cannot seem to get PHPStorm to see the interpreter. When I go to the interpreter settings, I select Vagrant and I can choose my vagrant directory that contains the vagrant file and set the local location of the php.exe file. It just gives me an error saying:

PHP Version: Not installed
Debugger: Not installed

When I try to verify the interpreter, I get the error:

Can not update phpinfo: Can't connect to remote host ssh://vagrant@127.0.0.1:22C:\Ampps\php\php.exe

I would assume the issue is that PHPStorm is connecting using ssh instead of rdp.

Is there any work-a-round for this or is this not possible?

Vagrantfile

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

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.

# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
config.vm.box = "opentable/win-2008r2-standard-amd64-nocm"
config.vm.hostname = "freshHub"
config.vm.communicator = :winrm

# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false

# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# config.vm.network "forwarded_port", guest: 80, host: 8080
# xdebug
config.vm.network :forwarded_port, host: 33389, guest: 3389, id: "rdp", auto_correct: true

# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network "private_network", ip: "192.168.33.20"

# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network"
config.vm.network :public_network, ip: "10.1.1.21", :netmask => "255.255.255.0", bridge: 'wlan0'

# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"
config.vm.synced_folder "~/Sites", "C:/Sites", :mount_options => ["dmode=777","fmode=777"]

# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
# config.vm.provider "virtualbox" do |vb|
#   # Display the VirtualBox GUI when booting the machine
#   vb.gui = true
#
#   # Customize the amount of memory on the VM:
#   vb.memory = "1024"
# end
#
# View the documentation for the provider you are using for more
# information on available options.
config.vm.provider "virtualbox" do |vb|
# Set VirtualBox VM Name
vb.name = "freshHub"
# Display the VirtualBox GUI when booting the machine
vb.gui = true
# Customize the amount of memory on the VM:vagrant
vb.memory = "4096"
end

# Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
# such as FTP and Heroku are also available. See the documentation at
# https://docs.vagrantup.com/v2/push/atlas.html for more information.
# config.push.define "atlas" do |push|
#   push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
# end

# Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
# documentation for more information about their specific syntax and use.
# config.vm.provision "shell", inline: <<-SHELL
#   sudo apt-get update
#   sudo apt-get install -y apache2
# SHELL
#config.vm.provision :shell, inline: "C:\Ampps\Ampps.exe", run: "always", privileged: false
# C:\Ampps\Ampps.exe
end
Jeremy
  • 1,878
  • 2
  • 30
  • 54
  • 1
    AFAIK for remote execution PhpStorm supports SSH only. If your guest OS has no SSH server .. then I may only suggest to install and configure one. – LazyOne Jan 07 '16 at 00:29
  • Thanks for your suggestion. I tried that and still not able to see the interpreter even tho I can now select it from the file select list... Not really sure what else to do at this point... Just old school debugging. – Jeremy Jan 07 '16 at 01:48

1 Answers1

0

You try to connect on your Vagrant OS in loopback IP (127.0.0.1) but your Vagrantfile notice that the IP for him is 192.168.33.20 or 10.1.1.21.

miltone
  • 4,416
  • 11
  • 42
  • 76
  • I noticed that too. I can't change that when using the vagrant setup so I tried remote using the private and the public IP and it still doesn't work. I can see the local files through the setup wizard but it still doesn't seem to work even when I selected the proper php.exe. – Jeremy Jan 07 '16 at 15:21