fpassthru()替代
我在我的WordPress博客上使用WP-MINIFY插件,但由于我的服务器的安全配置,fpassthru()函数被禁用。 所以,我必须找到一种替代方式,所以我可以编辑插件。
我在缩小文件中收到此错误:
警告:由于安全原因,fpassthru()已被禁用,位于第84行的/home/blablabla/public_html/wp-content/plugins/wp-minify/min/lib/Minify/Cache/File.php
这是使用fpassthru的功能:
/**
* Send the cached content to output
*
* @param string $id cache id (e.g. a filename)
*/
public function display($id)
{
if ($this->_locking) {
$fp = fopen($this->_path . '/' . $id, 'rb');
flock($fp, LOCK_SH);
fpassthru($fp);
flock($fp, LOCK_UN);
fclose($fp);
} else {
readfile($this->_path . '/' . $id);
}
}
你有什么主意吗?
你可以使用:
public function display($id)
{
$filename=$this->_path . '/' . $id;
if ($this->_locking) {
$fp = fopen($filename, 'rb');
flock($fp, LOCK_SH);
//fpassthru($fp);
$out=fread($fp,filesize($filename));
echo $out;
flock($fp, LOCK_UN);
fclose($fp);
} else {
readfile($filename);
}
}
echo stream_get_contents($fp);
(而不是fpassthru
线)做同样的事情,只有更多的内存消耗(并且比fpassthru
更少优化)。
下一篇: Missing alias when navigating to other web pages with IIS virtual directory