Ok, nach Stunden ziehen meine Haare heraus, dass ich endlich herausgefunden, was das Problem der Aktualisierung war.
In Laravel 4 php artisan serve
tut dies unter der Haube
<?php
namespace Illuminate\Foundation\Console;
use Illuminate\Console\Command;
use Symfony\Component\Console\Input\InputOption;
class ServeCommand extends Command {
public function fire()
{
$this->checkPhpVersion();
chdir($this->laravel['path.base']);
$host = $this->input->getOption('host');
$port = $this->input->getOption('port');
$public = $this->laravel['path.public'];
$this->info("Laravel development server started on http://{$host}:{$port}");
passthru('"'.PHP_BINARY.'"'." -S {$host}:{$port} -t \"{$public}\" server.php");
}
}
, die im Wesentlichen das im Klar PHP ist: php -S 127.0.0.1:8000 -t public serve.php
- see the docs for php built in server for more info.
Und das funktionierte gut und dandy vor php 7.0.26, wo der letzte Parameter für den php -S
eingebauten Server auch in eine Flagge geändert wurde, also muss man es so nennen php -S 127.0.0.1:8000 -t public -f serve.php
.
Wenn Sie es mit php artisan serve
dienen wollen, werden Sie die ServeCommand
außer Kraft setzen müssen und die letzte Zeile der fire()
Methode dies ändern:
passthru('"'.PHP_BINARY.'"'." -S {$host}:{$port} -t \"{$public}\" -f server.php");
Oder Sie können es direkt in den ServeCommand
ändern, aber wenn Sie ein Composer-Update durchführen oder installieren, müssen Sie es erneut tun.
Haben Sie dies überprüft: https://Stackoverflow.com/a/37277510/2815635 – C2486
Ja, ich habe es versucht und es funktioniert, aber meiner Meinung nach ist das nur ein Workaround, keine echte Lösung:/ – blackcat
hast du dein geändert PHP-Pfad in der Umgebung? –