child pid 1789 exit signal Bus error (10)
Apache エラー ログに、これまでに見たことのないこの奇妙なエラーが表示されます。FuelPHP フレームワークを使用しています。Web アプリは正常に動作しています。しかし、今日突然、別のコントローラーのコピーである新しいコントローラーを作成しました。私がコピーしたもの (http://localhost/myapp/admin/users) は正常に動作しますが、コピー (http://localhost/myapp/admin/apartments) でエラーが発生しますか?! 私はこれに不満を感じています。
3時間のデバッグの後、最終的にすべてが停止する行を見つけました。この行の Router クラスの FuelPHP コアにありif (class_exists($class))
ます。ifの$class
前には valueController_Admin_Apartments
があり、これは私が追加したクラスであり、コントローラー クラス フォルダーに存在します。
燃料/コア/クラス/router.php:
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;
}
FeulPHP フォーラムのユーザーは、これはハードウェアに関連している可能性があると指摘しました。そうではありません。全体を別のコンピューターに移動しましたが、まだ同じものがあります。私はそれを理解していません。ここで何が起きてるの?