Ich habe zwei virtuellen Maschinen eine Instanz von Scotchbox (Vagrant) und im Wesentlichen ist die Anwendung der ‚Frontend‘, dort zu arbeiten (AngularJS) und die ‚Back-End 'Anwendung (Zend/PHP etc ..)Curl-Anforderung von einer VM-Instanz auf eine andere VM (Vagrant) erscheint nicht
Ich habe sie auf zwei einzelnen Vagrant-Instanzen eingerichtet und laufen von den IPs unten (fügte sie zu meiner Windows-Hosts-Datei), so kann ich sie über den Domänennamen zugreifen (eher als nur die IP-Adresse)
192.168.33.10 myappfront.local
192.168.33.11 myappback.local
In meiner Frontend-Anwendung den folgenden PHP-Code mit Curl im Grunde das Token, wenn eine Benutzer-Log überprüfe ich laufe s in
$ch = curl_init();
$parameters = $apiUrl . '/user/login/verify-new-ui?id='.$_REQUEST['id'].'&token='.$_REQUEST['token'].'&appid=3';
curl_setopt($ch, CURLOPT_URL, $parameters);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$data = json_decode(curl_exec($ch)); // always NULL??
curl_close($ch);
Die Variable $ Parameter eine URL ähnlich wie diese enthalten ... https://myappback.local/user/login/verify-new-ui?id=1000001445&token=1shg7x1y7u53c1cppg36&appid=3
Wenn ich versuche, die $ Datenvariable var_dump aus es immer NULL ist -. Ich kenne die Funktion funktioniert (Es läuft auf unserer Live-Site in Ordnung) so führt mich zu glauben, das ist etwas Vagrant verwandt?
Ist es etwas Firewall innerhalb der Vagabund Instanz verwendet? Kann jemand den besten Weg vorschlagen, das herauszufinden?
Mein vagrantfile ist wie folgt:
Vagrant.configure("2") do |config|
config.vm.box = "scotch/box"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.hostname = "scotchbox"
config.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=777", "fmode=666"]
config.vm.box_download_insecure = false
config.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
end
config.vm.provision :shell, :path => "bootstrap.sh"
end
// das andere Backend-Vagabund Box
Vagrant.configure("2") do |config|
config.vm.box = "scotch/box"
config.vm.network "private_network", ip: "192.168.33.11"
config.vm.hostname = "scotchbox"
config.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=777", "fmode=666"]
Ende
Können Sie zeigen, was in Variable $ apiUrl gespeichert? Und wo hast du diese hinzufügen: 192.168.33.10 myappfront.local 192.168.33.11 myappback.local ich meine auf localhost oder vagabundierende Maschine? – Evgeniy
Sollte ich die Hosts-Datei innerhalb der beiden vagrant Instanzen bearbeiten müssen? – Zabs
Sicher, wenn Sie diese Datensätze nur auf localhost hinzufügen - nur Sie können jede Anfrage testen, verwenden Sie den Browser. Wenn Sie eine Anforderung von einer VM zur anderen stellen müssen, sollten Sie der VM dieselbe Konfiguration hinzufügen, die eine Anfrage stellt. – Evgeniy