【问题标题】:Prestashop no errors / blank pagePrestashop 没有错误/空白页
【发布时间】:2011-04-16 22:55:30
【问题描述】:

我正在为 Prestashop 开发一个 PHP 模块,但我在尝试调试代码时遇到了困难。每当有东西掉下来时,它不会显示错误,只是一个空白页面 - 无论是在模块被钩住的前端,还是在后端模块页面上。

我正在尝试在另一个类或另一个函数中编写,但它根本不喜欢它。

它在本地开发服务器上,PHP 错误等等。

谁能告诉我除注释掉代码之外的其他调试方法吗?或者某种获取错误代码的方法?

提前感谢您的帮助。

【问题讨论】:

    标签: php debugging prestashop


    【解决方案1】:

    尝试打开config/config.inc.php然后更改:

    @ini_set('display_errors', 'off')

    @ini_set('display_errors', 'on').


    从 PS 1.5+ 开始,你需要打开config/defines.inc.php 并更改:

    define('_PS_MODE_DEV_', false);

    define('_PS_MODE_DEV_', true);

    【讨论】:

    • 在 PS 1.5.x 中将 config/defines.inc.php 中的 PS_MODE_DEV 更改为 true
    【解决方案2】:

    转到您的后台页面。

    高级参数 -> 性能 -> 清理缓存(橡皮擦图标)

    【讨论】:

      【解决方案3】:

      我不得不这样做

      aptitude 安装 php5-mcrypt sudo aptitude install php5-mcrypt sudo service apache2 重启

      未安装加密

      【讨论】:

        【解决方案4】:

        查看这个以获得最终解决方案!

        首先,您需要在您的网站上启用错误报告。

        1) 打开文件config\config.inc.php,找到下面一行:

        @ini_set(‘display_errors’, ‘off’);    
        

        2) 将“关闭”更改为“开启”,重新上传文件并刷新页面。

        如果没有帮助,请转到下一步。

        3)将此代码添加到 PrestaShop 安装根目录中 index.php 文件的顶部,然后将其重新上传到您的服务器上。然后尝试访问您的网站和管理面板。

            <?php error_reporting(0); 
               $old_error_handler = set_error_handler("userErrorHandler");
        
               function userErrorHandler ($errno, $errmsg, $filename, $linenum,  $vars) 
             {
             $time=date("d M Y H:i:s"); 
             // Get the error type from the error number 
             $errortype = array (1    => "Error",
                                 2    => "Warning",
                                 4    => "Parsing Error",
                             8    => "Notice",
                             16   => "Core Error",
                             32   => "Core Warning",
                             64   => "Compile Error",
                             128  => "Compile Warning",
                             256  => "User Error",
                             512  => "User Warning",
                             1024 => "User Notice");
          $errlevel=$errortype[$errno];
        
          //Write error to log file (CSV format) 
          $errfile=fopen("errors.csv","a"); 
          fputs($errfile,"\"$time\",\"$filename: 
          $linenum\",\"($errlevel) $errmsg\"\r\n"); 
          fclose($errfile);
        
          if($errno!=2 && $errno!=8) {
             //Terminate script if fatal error
             die("A fatal error has occurred. Script execution has been aborted");
          } 
           }
        ?>
        

        在此操作之后,您将在 index.php 文件所在的文件夹中找到名为 errors.csv 的文件。下载并使用任何文本编辑器打开文件errors.csv,您将在那里找到错误日志。

        【讨论】:

          【解决方案5】:

          在我的情况下(PS 1.7),我在大量添加许多产品后出现黑屏。 我还注意到这是一个带有错误 500 的空白屏幕(我是从浏览器控制台获取的)。

          解决方案是简单地增加我的 PHP 的内存限制。 可以通过将这一行添加到 index.php 文件的开头来完成:

          ini_set('memory_limit', '512M');

          我用512M解决了,但是如果问题仍然存在,您可以尝试更多。

          这只是一个临时/快速的解决方案,如果您希望它持久,您可以直接在源处更改该值,找到您的 php.ini 并只需在 memory_limit 字段上编辑值。

          您可以在此处找到更多信息: https://www.inmotionhosting.com/support/prestashop-16/blank-screen

          【讨论】:

            【解决方案6】:

            我刚刚将 /cache 目录中的“class_index.php”重命名为“class.index.old.php”,然后重新加载了站点 - 瞧!网站已加载。并在此目录中创建了新的“class_index.php”。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2023-03-04
              • 2017-09-05
              • 1970-01-01
              • 1970-01-01
              • 2021-06-11
              • 1970-01-01
              相关资源
              最近更新 更多