2012-01-11 24 views
1

この奇妙なエラーが発生しましたchild pid 1789 exit signal Bus error (10)私はこれまでApacheのエラーログで見たことがありません。私はFuelPHPフレームワークを使用しています。 Webアプリケーションは正常に動作しています。しかし突然今日、私は新しいコントローラを作成しました。それ自体は別のコントローラのコピーです。私がコピーしたもの(http:// localhost/myapp/admin/users)はコピーできますが(http:// localhost/myapp/admin/apartments)、エラーになります。私はこれに悩まされています。Apache error - child pid 1789 exit signalバスエラー(10)

3時間のデバッグ後、私は最終的にすべてのものが停止する行を見つけました。ルータのクラスのFuelPHPコアのif (class_exists($class))にあります。その前の$classは値がController_Admin_Apartmentsであり、これは私が追加したクラスであり、私のコントローラクラスフォルダに存在します。

燃料/コア/クラス/ router.php:FeulPHP forum

protected static function parse_segments($segments, $namespace = '', $module = false) 
{ 
    $temp_segments = $segments; 

    foreach (array_reverse($segments, true) as $key => $segment) 
    { 
     $class = $namespace.'Controller_'.\Inflector::words_to_upper(implode('_', $temp_segments)); 
     array_pop($temp_segments); 
     if (class_exists($class))  // ***** HERE ERROR HAPPENS ***** // 
     { 
      return array(
       'controller' => $class, 
       'action'  => isset($segments[$key + 1]) ? $segments[$key + 1] : null, 
       'method_params' => array_slice($segments, $key + 2), 
      ); 
     } 
    } 

    // Fall back for default module controllers 
    if ($module) 
    { 
     $class = $namespace.'Controller_'.$module; 
     if (class_exists($class)) 
     { 
      return array(
       'controller' => $class, 
       'action'  => isset($segments[0]) ? $segments[0] : null, 
       'method_params' => array_slice($segments, 1), 
      ); 
     } 
    } 
    return false; 
} 

ユーザは、これは関連するハードウェアとすることができると指摘しました。そうではありません。私は、すべてのものを別のコンピュータに移して、同じことをやっています。私はそれを得ていない。ここで何が起きてるの?

答えて

1

私を撃ってください。ちょうどエラー私の自己を発見した。私はなぜそれが起こるのか分からないが、私のコントローラーにシンセックスエラーがあったController_Admin_Apartments

public function action_delete($id = null) 
{ 
    if (apartment = Model_Apartment::find($id)) 
    { 
     $apartment->delete(); 
     Session::set_flash('success', 'Deleted apartment #'.$id); 
    } 
    else 
    { 
     Session::set_flash('error', 'Could not delete apartment #'.$id); 
    } 
    Response::redirect('admin/apartments'); 
} 

注ライン:if (apartment = Model_Apartment::find($id))、私は、フロント変数名の$を追加するのを忘れ、私はこの機能を持っていました。私は本当に驚いてFulePHPフレームワークは私にこれを警告しなかったし、私が持っていた唯一のエラーはApacheのエラーログにあった。奇妙な、ちょっと変わった...

0

これはまったく別の解決方法ですが、「信号バスエラー」に関連しています。私はちょうど512Mではなく、512MBを誤って入力しました。

関連する問題