Je travaille sur CentOS.
J'ai suivi les tutoriels:
Comme j'utilise Apache, j'ai aussi suivi cette page:
J'ai créé un contrôleur par défaut et un modèle par défaut. Avec ce contrôleur (/) j'obtiens l'erreur suivante (dans la barre d'outils de débogage):
An error occurred while loading the web debug toolbar. Open the web profiler.
Lorsque je clique sur le lien: "Ouvrez le profileur Web", je peux voir la réponse Apache:
Not Found
The requested URL /_profiler/177403 was not found on this server.
Dans l'inspecteur de chrome, je peux voir: GET http://172.31.18.7/_wdt/177403 404 (Introuvable)
Voici la partie intéressante de mon composer.json:
"require": {
"php": "^7.1.3",
"ext-iconv": "*",
"doctrine/doctrine-fixtures-bundle": "^3.0",
"sensio/framework-extra-bundle": "^5.1",
"sonata-project/admin-bundle": "^3.35",
"sonata-project/doctrine-orm-admin-bundle": "^3.6",
"symfony/Apache-pack": "^1.0",
"symfony/console": "^4.0",
"symfony/flex": "^1.0",
"symfony/framework-bundle": "^4.0",
"symfony/lts": "^4@dev",
"symfony/maker-bundle": "^1.4",
"symfony/orm-pack": "^1.0",
"symfony/requirements-checker": "^1.1",
"symfony/security-bundle": "^4.0",
"symfony/twig-bundle": "^4.0",
"symfony/validator": "^4.0",
"symfony/yaml": "^4.0"
},
"require-dev": {
"sensiolabs/security-checker": "^4.1",
"symfony/dotenv": "^4.0",
"symfony/web-profiler-bundle": "^4.0"
},
mon httpd.conf:
<VirtualHost *:80>
DocumentRoot /var/www/html/elora/public
ServerName eloradev
ServerAlias www.elora.dev
DirectoryIndex index.php
<Directory "elora/public">
AllowOverride all
Order Allow,Deny
Deny from all
Allow from 127.0.0.1
Allow from ::1
Allow from localhost
</Directory>
<Directory elora>
Options FollowSymlinks
</Directory>
ErrorLog /var/Apache/logs/error.log
CustomLog /var/Apache/logs/access.log combined
</VirtualHost>
Et mon .htaccess:
DirectoryIndex index.php
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteCond %{HTTP:Authorization} .
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^ %{ENV:BASE}/index.php [L]
</IfModule>
<IfModule !mod_rewrite.c>
<IfModule mod_alias.c>
RedirectMatch 307 ^/$ /index.php/
</IfModule>
</IfModule>
Et, pour finir, mon/lucky/number ( https://symfony.com/doc/current/page_creation.html ) affiche le message Apache:
Not Found
The requested URL /lucky/number was not found on this server.
Il semble que le composant de routage ne fonctionne pas.
Les règles du routeur (debug: router):
-------------------------- -------- -------- ------ -------------------
Name Method Scheme Host Path
-------------------------- -------- -------- ------ -----------------------
app_homepage ANY ANY ANY /
app_lucky ANY ANY ANY /lucky
app_lucky_number ANY ANY ANY /lucky/number
_twig_error_test ANY ANY ANY /_error/{code}.{_format}
_wdt ANY ANY ANY /_wdt/{token}
_profiler_home ANY ANY ANY /_profiler/
_profiler_search ANY ANY ANY /_profiler/search
_profiler_search_bar ANY ANY ANY /_profiler/search_bar
_profiler_phpinfo ANY ANY ANY /_profiler/phpinfo
_profiler_search_results ANY ANY ANY /_profiler/{token}/search/results
_profiler_open_file ANY ANY ANY /_profiler/open
_profiler ANY ANY ANY /_profiler/{token}
_profiler_router ANY ANY ANY /_profiler/{token}/router
_profiler_exception ANY ANY ANY /_profiler/{token}/exception
_profiler_exception_css ANY ANY ANY /_profiler/{token}/exception.css
-------------------------- -------- -------- ------ -----------------------
J'ai créé manuellement le répertoire/_wdt, au cas où, mais cela n'a rien changé.
J'ai vérifié les erreurs avec debug: event-dispatcher, rien de spécial.
J'ai remarqué que le cache du profileur se trouve dans ce répertoire: var/cache/dev/profiler/03/74/et qu'il s'appelle 177403.
Une dernière chose, j'ai couru compositeur avec l'utilisateur 'root'. Et j'ai utilisé chown pour changer le propriétaire de mon projet.
Voici une partie de mon fichier .env:
###> symfony/framework-bundle ###
APP_ENV=dev
Je pense que cela nécessite htaccess ou mod_rewrite
composer require symfony/Apache-pack
Configuration d'un serveur Web
https://symfony.com/doc/current/setup/web_server_configuration.html
Comme la réponse est dans un commentaire, je le répète:
Avez-vous essayé l'URL http://www.elora.dev/index.php/_wdt/ ? J'ai eu un problème similaire car la réécriture de l'URL était incorrecte. - AL
C'est tout !
Merci beaucoup A.L
composer require symfony/Apache-pack
Do you want to execute this recipe?
[y] Yes
[n] No
[a] Yes for all packages, only for the current installation session
[p] Yes permanently, never ask again for this project
(defaults to n): y
Fichier hôte:
127.0.0.1 symfony01.com
127.0.0.1 www.symfony01.com
httpd-vhosts.conf:
<VirtualHost *:80>
ServerName symfony01.com
ServerAlias www.symfony01.com
DocumentRoot "c:/wamp64/www/symfony01/public"
<Directory "c:/wamp64/www/symfony01/public/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
Cela ressemble à un problème d'écriture en cache. La barre d'outils du profileur/débogage se bloque car les données de débogage sont écrites dans le dossier de cache. Votre application fonctionne probablement bien dans l'environnement prod
.
Pour voir si c'est votre problème, essayez d'exécuter chmod -R 777 var/cache
et essayez à nouveau.
La "meilleure solution" dépend de votre système d'exploitation. N'hésitez pas à ajouter des informations supplémentaires pour répondre avec précision, sinon vous pouvez consulter la documentation relative à Symfony ici (lien obsolète volontairement, ils l’ont supprimée de la doc SF4).
il suffit d'ajouter :
FallbackResource /index.php
dans votre répertoire
<Directory "/Library/WebServer/Documents/Your_public_symfony_directory">
....
FallbackResource /index.php
....
</Directory>
pour plus de documentation cliquez ici