Php Apache错误-子pid 1789出口信号总线错误(10)
我得到了这个奇怪的错误Php Apache错误-子pid 1789出口信号总线错误(10),php,apache,fuelphp,Php,Apache,Fuelphp,我得到了这个奇怪的错误子pid 1789出口信号总线错误(10)我以前在Apache错误日志中从未见过。我正在使用FuelPHP框架。该网络应用程序运行良好。但今天我突然创建了一个新的控制器,它本身就是另一个控制器的副本。我抄袭的那本很好(http://localhost/myapp/admin/users),但副本(http://localhost/myapp/admin/apartments)让我犯了那个错误?!我对此感到沮丧 经过3个小时的调试,我终于找到了所有事情都停止的地方。如果(cl
子pid 1789出口信号总线错误(10)
我以前在Apache错误日志中从未见过。我正在使用FuelPHP框架。该网络应用程序运行良好。但今天我突然创建了一个新的控制器,它本身就是另一个控制器的副本。我抄袭的那本很好(http://localhost/myapp/admin/users),但副本(http://localhost/myapp/admin/apartments)让我犯了那个错误?!我对此感到沮丧
经过3个小时的调试,我终于找到了所有事情都停止的地方。如果(class_exists($class)),则它位于路由器类的FuelPHP内核中。if前面的$class
具有值Controller\u Admin\u
,这是我添加的类,存在于我的Controller classes文件夹中
fuel/core/classes/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;
}
中的用户指出这可能与硬件有关。但事实并非如此。我把整个东西移到了另一台电脑上,但仍然有同样的东西。我就是不明白。这里发生了什么事?好的,开枪打我。我自己刚刚发现了错误。我不知道为什么会发生这种情况,但我的控制器
controller\u Admin\u公寓中有一个synthax错误。我有这个功能:
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(公寓=Model_公寓::find($id))
,我忘了在变量名前面添加$
。我真的很惊讶FulePHP框架没有提醒我,我唯一的错误是在Apache错误日志中:奇怪,只是奇怪…这是一个完全不同的解决方案,但与“信号总线错误”有关:我是在我的php.ini的内存限制设置中意外输入512MB
而不是512M
时得到这个消息的