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更少优化)。

链接地址: http://www.djcxy.com/p/61199.html

上一篇: fpassthru() alternative

下一篇: Missing alias when navigating to other web pages with IIS virtual directory