Php 我的代码变旧了吗?再次使用数月后,超过了最大执行时间
我使用Php 我的代码变旧了吗?再次使用数月后,超过了最大执行时间,php,xml,xslt,Php,Xml,Xslt,我使用stylesheet.xslt和path.xml转换一些RSS提要,并将它们输出到新创建的文件fid.xml 这个代码在几个月前工作正常,我决定今天再次上传。但是我得到了一个 [22-Nov-2012 20:30:32 UTC]PHP致命错误:第20行的/home/…/public_html/…/feeder.PHP中超过了30秒的最大执行时间(第20行是转换开始的地方) 源文件太大。30秒(默认超时)不够。您可以通过将php.inimax\u execution\u time更改为一个
stylesheet.xslt
和path.xml
转换一些RSS提要,并将它们输出到新创建的文件fid.xml
这个代码在几个月前工作正常,我决定今天再次上传。但是我得到了一个
[22-Nov-2012 20:30:32 UTC]PHP致命错误:第20行的/home/…/public_html/…/feeder.PHP中超过了30秒的最大执行时间(第20行是转换开始的地方)
源文件太大。30秒(默认超时)不够。您可以通过将php.inimax\u execution\u time
更改为一个较大的数字来增加时间。或者尝试优化您的输入文件,使其更小。@E_p好的,但几个月前它是如何工作的?!较小的传入文件或更快的服务器。可能是由于更多的用户/访问者或其他繁重的脚本增加了负载,这些脚本可能会窥探到此脚本的处理能力。可能配置已更改。可能安装了一个在一般情况下或在这种特定情况下性能较差的更新。有很多种可能性,但一般来说,XSLT在PHP中的速度很慢,尤其是当您有大而复杂的文件时
<?php
// create an XSLT processor and load the stylesheet as a DOM
$xproc = new XsltProcessor();
$xslt = new DomDocument;
$xslt->load('feeder/stylesheet.xslt'); // this contains the code from above
$xproc->importStylesheet($xslt);
// your DOM or the source XML
$dom = new DomDocument;
$dom -> load('feeder/paths.xml');
// do the transformation
if ($xml_output = $xproc->transformToXML($dom)) {
file_put_contents('fid.xml', $xml_output);
} else {
trigger_error('Oops, XSLT transformation failed!', E_USER_ERROR);
}
?>