gpt4 book ai didi

php - array_map 导致服务器崩溃

转载 作者:可可西里 更新时间:2023-11-01 14:25:16 26 4
gpt4 key购买 nike

以下代码正在抓取我的 apache 网络服务器。当我从 parse_service_rows() 中删除数据库查询时,apache 不会崩溃。

我还试图在没有帮助的情况下从查询中删除 WHERE 子句。

我的代码是这样的:

public function tab($tab_name = '') {
/*
* CODE TO GET ROWS
*/
$service['rows'] = array_map(array($this, 'parse_service_rows'), $service['rows']);
}

private function parse_service_rows($row) {

// This query causes apache to crash
$order = $this->db->get_where('services', array(
'service_user_id' => $this->user->get('user_id'),
'service_firm_id' => $this->firm->id,
'service_type' => $row['type'],
'service_object_id' => $row['object_id']
), 1)->row_array();

return $row;
}

但是,当我尝试使用 foreach 而不是 array_map 时它起作用了:

foreach ($service['rows'] as $key => $row) {
$service['rows'][$key] = $this->parse_service_rows($row);
}

Windows 错误窗口给出了以下信息:

Problem Event Name: APPCRASH
Application Name: httpd.exe
Application Version: 2.4.2.0
Application Timestamp: 4fafa3e6
Fault Module Name: php5ts.dll
Fault Module Version: 5.4.4.0
Fault Module Timestamp: 4fd8f85c
Exception Code: c0000005
Exception Offset: 000713cd
OS Version: 6.1.7600.2.0.0.256.1
Locale ID: 1061
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

为什么会这样?

最佳答案

您应该检查您的 IIS PHP 错误日志,您应该能够通过 PHP 配置中的 IIS 管理员找到它并从那里读取它。

确保您的 PHP 日志级别至少为 E_ALL 并且 error_reporting 已打开,如果这是一个开发服务器,您可能也应该打开 display_errors。这些都是您的 PHP.ini 中的所有选项,您也可以从 IIS 管理控制台对其进行编辑。

如果这没有帮助,这里有一些您应该看看的地方;

  • 在查询之前调用 $this->user->get('user_id') 并将结果设置为变量的实例。这将向您显示用户类是否已实例化,以及用户类中 get 函数的作用域是否存在任何问题。
  • 也可以在 get_where 之外调用它,$this->firm->id,id 可能不是公共(public)属性,这也会导致 PHP 致命。

关于php - array_map 导致服务器崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14643901/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com