web-dev-qa-db-ja.com

Prestashopエラーなし/空白ページ

Prestashop用にPHPでモジュールを開発していて、コードのデバッグに苦労しています。何かが失敗してもエラーは表示されず、空白のページだけが表示されます。モジュールがフックされているフロントエンド、またはバックエンドモジュールページ。

別のクラスまたは別の関数で書き込もうとしていますが、まったく気に入らないのです。

ローカル開発サーバー上にあり、PHPエラーが発生しています。

コードをコメントアウトする代わりに、デバッグする他の方法を誰かに教えてもらえますか?またはエラーコードを取得する方法はありますか?

よろしくお願いします。

12
Harry M

_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);

25
David Hancock

バックオフィスページに移動します。

高度なパラメータ->パフォーマンス->キャッシュのクリーンアップ(消しゴムアイコン)

1

私がしなければなりませんでした

aptitude install php5-mcrypt Sudo aptitude install php5-mcryptSudoサービスApache2再起動

暗号化がインストールされていません

1
Elia Weiss

私の場合(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

0
Jacopo Pace

/ cacheディレクトリの「class_index.php」の名前を「class.index.old.php」に変更してから、サイトをリロードしました。サイトが読み込まれました。そして、このディレクトリに新しい「class_index.php」が作成されました。

0
user2910491

最終的な解決策については、これをチェックしてください!

まず第一に、あなたはあなたのウェブサイトでエラー報告を有効にする必要があります。

1)ファイルconfig\config.inc.phpを開き、次の行を見つけます。

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

2)「オフ」を「オン」に変更し、ファイルを再アップロードしてページを更新します。

それでも問題が解決しない場合は、次の手順に進みます。

3)このコードをPrestaShopインストールのルートにあるindex.phpファイルの先頭に追加し、サーバーに再アップロードします。次に、Webサイトと管理パネルにアクセスしてみます。

    <?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をダウンロードして開くと、そこにエラーログがあります。

0
ganji