|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2016-04-18 14:23 UTC] dirkjan at ochtman dot nl
[2021-07-28 12:11 UTC] cmb@php.net
-Status: Open
+Status: Feedback
-Assigned To:
+Assigned To: cmb
[2021-07-28 12:11 UTC] cmb@php.net
[2021-08-08 04:22 UTC] php-bugs at lists dot php dot net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 06:00:02 2025 UTC |
Description: ------------ In one of my legacy websites, I'm using XSLT using the `XSLTProcessor` class from the xslt extension: function process() { $xslt = new XSLTProcessor(); $xslt->importStylesheet($this->xsl); foreach ($this->params as $name => $value) { $xslt->setParameter('', $name, $value); } return $xslt->transformToXML($this->xml); } The XSLT stylesheet I'm using also does some includes, with paths relative to the executed PHP script: <xsl:include href="assets/xsl/basic.xsl" /> However, since migrating to PHP-FPM, I've found that sometimes, the worker processes get into a state where some workers work correctly, however some workers fail to find the included XSL sheets, resulting in errors: Warning: XSLTProcessor::importStylesheet(): I/O warning : failed to load external entity "/var/www/hebe.nl/http/assets/xsl/basic.xsl" in /var/www/hebe.nl/http/include/classes.sys.php on line 315 Warning: XSLTProcessor::importStylesheet(): compilation error: file /var/www/hebe.nl/http/ line 14 element include in /var/www/hebe.nl/http/include/classes.sys.php on line 315 Warning: XSLTProcessor::importStylesheet(): xsl:include : unable to load /var/www/hebe.nl/http/assets/xsl/basic.xsl in /var/www/hebe.nl/http/include/classes.sys.php on line 315 When restarting PHP-FPM, the problem fixes itself, but that's not a very nice way to solve it. :) Expected result: ---------------- XSLT includes should work (or not) consistently. Actual result: -------------- Reloading the page sometimes results in the correct HTML, sometimes has errors.