Ok, je viens d’installer la dernière version de Symfony 4. Exécutez le navigateur après l’installation et un message de bienvenue. Tout bon!
Ensuite, j'ai créé un nouveau contrôleur en utilisant make:controller
. J'ai nommé ce contrôleur Client et utilise Annotations, comme avec l'autre contrôleur par défaut. J'ai configuré le routage comme suit:
/**
* @Route("/client", name="client")
*/
public function index()
{
// replace this line with your own code!
return $this->render('@Maker/demoPage.html.twig', [ 'path' => str_replace($this->getParameter('kernel.project_dir').'/', '', __FILE__) ]);
}
J'ai rafraîchi le navigateur et tout bon, pas d'erreurs.
Ensuite, j'ai manuellement saisi le chemin dans le navigateur pour vérifier s'il fonctionne vraiment:
localhost:8000/client
Problème. L'URL retourné standard Apache 404
Not Found
The requested URL /client was not found on this server.
Apache/2.4.18 (Ubuntu) Server at new.staff-fdr.dev Port 80
La route de débogage voit ceci cependant:
-------------------------- -------- -------- ------ ------------------
Name Method Scheme Host Path
-------------------------- -------- -------- ------ -----------------
client ANY ANY ANY /client
index ANY ANY ANY /
_twig_error_test ANY ANY ANY /_error/{code}.
Fichier .htaccess
manquant.
composer config extra.symfony.allow-contrib true
composer req symfony/Apache-pack
J'ai également eu ce problème et voici quelques autres idées si cela ne fonctionne pas pour vous. La première consiste à configurer votre serveur Web comme indiqué ici. Apache optimisé avec mod_php a fonctionné pour moi:
https://symfony.com/doc/master/setup/web_server_configuration.html
Deuxièmement, le mod rewrite n’est pas activé sur mon serveur Web. C'était finalement la solution qui m'a permis de me lever et de partir. Courir:
Sudo a2enmod réécrire
Ensuite
Service Sudo Apache2 redémarrer
Cela devrait vous faire avancer.
Dans mon cas, j'avais simplement oublié de modifier ma configuration vhost du Web vers un dossier public lors de la migration vers symfony flex.
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "C:/xampp/htdocs/myproject/web/"
ServerName dev.myproject.com
ServerAlias dev.myproject.com
<Directory "C:/xampp/htdocs/myproject/web/">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
À
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "C:/xampp/htdocs/myproject/public/"
ServerName dev.myproject.com
ServerAlias dev.myproject.com
<Directory "C:/xampp/htdocs/myproject/public/">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
</VirtualHost>