J'ai installé le dernier serveur XAMPP avec PHP 7 (mise à jour: vérifié aussi PHP 7.1)} _ (sur mon système Windows 10). Je voulais utiliser opcache , je l’ai donc activé dans php.ini
.
[opcache]
zend_extension=php_opcache.dll
opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
Avec ce changement maintenant, et avec presque chaque rafraîchissement de page, j'obtiens cette erreur d'Apache:
AH00428: Parent: child process 3748 exited with status 3221226356 -- Restarting.
Donc, la page est en cours de chargement, et en cours de chargement ... dans l’attente de la reprise d’Apache. Lorsque j'éteins opcache (en définissant opcache.enable=0
), Apache ne redémarre pas et tout fonctionne correctement (en omettant le sujet d'application Web le plus lent, bien sûr).
Tout fonctionne correctement lors du chargement de l'application sur XAMPP ayant PHP 5.6 avec activé opcache
.
EDIT (image GIF ajoutée):
Comme vous pouvez le constater, la page s'actualise parfois comme il se doit. Mais parfois, cela rafraîchit beaucoup plus longtemps et Apache redémarre à ce moment-là.
EDIT:
Pour être honnête, j’ai abandonné cette application pour travailler avec PHP sous Windows (je travaillais dessus depuis environ 10 ans avec PHP <= 5.6). Il est très difficile/impossible (pour le moment) de faire fonctionner PHP 7.x sur ce système d'exploitation (avec Opcache). Décidé d'aller avec Ubuntu et un serveur créé avec Docker . Tout est plus facile à configurer (surtout avec Docker) et fonctionne plus rapidement. Je conseille à tout le monde de faire la même chose;).
Votre chemin php_opcache.dll
semble faux , vous devez l’écrire comme ci-dessous, cela fonctionne pour moi.
[opcache]
zend_extension = "C:\xampp\php\ext\php_opcache.dll"
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=256
opcache.max_accelerated_files=2000
Si votre XAMPP est livré avec PHP 5.5+ par défaut, opcache déjà inclus dans l'ensemble, vous devrez simplement l'activer. Pour activer l'extension:
Ouvrez php.ini (par défaut, il devrait être situé ici: C:\xampp\php\php.ini).
Ajoutez cette ligne à la fin du fichier: zend_extension = "C:\xampp\php\ext\php_opcache.dll"
ouvrir un fichier php.ini
pour plus de références, consultez cette vidéo https://www.youtube.com/watch?v=GvWrNoRDjUY
Pour être honnête, n'utilisez pas xammp. Pour le moment, nous avons une pile technologique un peu meilleure, pour exécuter PHP sur des serveurs Linux. Docker https://docs.docker.com/docker-for-windows/
Vagant: https://www.vagrantup.com/
Les deux sont basés sur des systèmes Linux, où la plupart des problèmes de xammp n'auront pas lieu.
ThreadStackSize 8388608
M'a aidé dans le cas similaire. Ceci est une option httpd.
Dans le cas de Xampp, il suffit de mettre les lignes ci-dessous à côté de [opcache]
zend_extension="C:\xampp\php\ext\php_opcache.dll"
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
Créer un répertoire avec les permissions appropriées et le configurer php.ini a fonctionné!
opcache.file_cache=d:\xampp\htdocs\opcache