Ich bin neu bei stackoverflow und habe einige Fragen zur Bereitstellung von Google Cloud- und Symphony-Apps. Ich habe die Dokumentation zu https://cloud.google.com/appengine/docs/php/symfony-hello-world gelesen und es geschafft, die Hello Word-App bereitzustellen, aber wenn ich mit meiner Symfoy-App versuche, habe ich seinen Fehler: InvalidArgumentException in XmlFileLoader.php Zeile 259: Datei kann nicht parsen "(...) DependencyInjection/../Resources/config\web.xml ". In meinem app.yaml stelle ich die env Variablen: env_variables: GCS_BUCKET_NAME: "pinterpandaibucket" CACHE_DIR: "gs: // pinterpandaibucket/Symfony/cache" LOG_DIR: "gs: // pinterpandaibucket/Symfony/log" und ich überlastete die AppKernel.php Funktionen:Symfony-App auf Google App-Engine bereitstellen
<?php
public function __construct($environment = null, $debug = null)
{
// determine the environment/debug configuration based on whether or not this is running
// in App Engine's Dev App Server, or in production
if (is_null($debug)) {
$debug = !Environment::onAppEngine();
}
if (is_null($environment)) {
$environment = $debug ? 'dev' : 'prod';
}
parent::__construct($environment, $debug);
// Symfony console requires timezone to be set manually.
if (!ini_get('date.timezone')) {
date_default_timezone_set('UTC');
}
// Enable optimistic caching for GCS.
$options = ['gs' => ['enable_optimsitic_cache' => true]];
stream_context_set_default($options);
$this->gcsBucketName = getenv('GCS_BUCKET_NAME');
...
public function getCacheDir()
{
if ($this->gcsBucketName) {
return getenv('CACHE_DIR');
}
return parent::getCacheDir();
}
public function getLogDir()
{
if ($this->gcsBucketName) {
return getenv('LOG_DIR');
}
return parent::getLogDir();
}
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml');
}
}
?>
die Funktionen, die im Dateisystem schreiben werden, um den Eimer umgeleitet. Könnten Sie mir helfen, herauszufinden, welche Änderungen in meiner App fehlen? Ich hoffe, dieses Thema hilft anderen, da die Google Cloud-Dokumentation nicht sehr aktuell ist. Vielen Dank im Voraus und Entschuldigung, wenn ich nicht gut Englisch spreche Ich bin ein Französisch IT-Student.
Augustin
Dies hängt wahrscheinlich nicht mit GCS zusammen, da Sie immer noch statische Dateien aus dem Dateisystem lesen können. Die App sollte versuchen, /vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/config/web.xml zu laden. Um sicher zu sein, sollten Sie die vollständige Fehlermeldung in der Frage anstelle einer abgeschnittenen Version angeben. Kannst du diese Datei in deiner App mit der aus dem funktionierenden symfony-starter vergleichen? Hast du deine App von der funktionierenden Startanwendung entfernt oder etwas anderes getan, um zu versuchen, dass sie in App Engine funktioniert? – Adam