$val) { print_r("Field: " . $fld-6ren">
gpt4 book ai didi

php - 为什么只有一台服务器抛出错误 "Array to String Conversion"?

转载 作者:行者123 更新时间:2023-12-04 19:03:04 26 4
gpt4 key购买 nike

这是导致错误的代码:

        foreach($_GET['Inventory'] as $fld => $val) {
print_r("Field: " . $fld . " Value: " . $val . '</br>');
if($val != '' && !is_null($val))
if($fld != 'searchoption')
$perma .= $fld . '=' . $val . '&';
}

print_r() 是错误的原因,但我只在一台服务器上收到此错误。该服务器最近安装了 Ubuntu(升级到 14.04 全新安装)和 LAMPP。这与其他运行的源代码相同(据我所知),但由于某种原因,此错误在这里持续存在。

我不熟悉 php-apache 模块,而且我无法摆脱系统缺少可以解决此问题的核心组件的感觉。

编辑(更多信息):如果 $val 中确实有一个数组,它会在服务器上显示“数组”而不是抛出错误。我不是要更改代码,而是要找出可能导致这种情况的原因。

搜索后工作服务器的输出:
Field: searchoption Value: Array
Field: parentBarcode Value:
Field: barcode Value:
Field: room Value:
Field: fixedAssetTag Value:
Field: hostDomainName Value:
Field: ipAddress Value: test
Field: macAddress Value:
Field: serialNumber Value:
Field: purchaseOrder Value:
Field: accountNumber Value:
Field: searchscope Value: 1

编辑:两台服务器上的源代码完全相同。

在不工作的服务器上加载 Apache 模块:
//both servers have these modules loaded
= core_module (static)
= so_module (static)
= http_module (static)
= log_config_module (static)
= logio_module (static)
= alias_module (shared)
= auth_basic_module (shared)
= authn_file_module (shared)
= authz_host_module (shared)
= authz_user_module (shared)
= autoindex_module (shared)
= cgi_module (shared)
= deflate_module (shared)
= dir_module (shared)
= env_module (shared)
= mime_module (shared)
= mpm_prefork_module (shared)
= negotiation_module (shared)
= php5_module (shared)
= setenvif_module (shared)
= status_module (shared)

//Server with error has these extra modules loaded
+ authz_core_module (shared)
+ authn_core_module (shared)
+ version_module (static)
+ unixd_module (static)
+ access_compat_module (shared)
+ rewrite_module (shared)
+ watchdog_module (static)
+ filter_module (shared)

//Working server has these extra modules loaded
- authz_groupfile_modeul (shared)
- authz_default_module (shared)
- reqtimeout_module (shared)

最佳答案

该错误可能存在于两台服务器上:您正在尝试将数组输出为字符串。这是您应该解决的问题。您可能只在一台服务器上看到错误消息,因为该服务器对 PHP 配置变量 error_reporting 有更严格的设置。 .

我建议将记录器行分成如下内容:

print_r($fld);
print_r($val);

无论变量类型如何,这都将起作用。

关于php - 为什么只有一台服务器抛出错误 "Array to String Conversion"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27987610/

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