php - 为什么以下代码无法在实际服务器上运行,但在 localhost 上运行良好?
问题描述
我正在使用 Maatwebsite/Excel 包导出 .csv 文件。我的代码在 localhost 上运行良好,但是当我尝试在实际服务器上运行它时,它无法正常工作并显示
local.INFO:preg_match() 期望参数 2 是字符串,第 1 行给出的数组。62
在本地主机上,当我导出生成的报告时,它会存储在 public/reports 中,并且电子邮件也会发送给用户。但是当我在服务器上运行代码时,它给出了错误
它的控制器功能:
try {
$report = 'Appointment_' . Carbon::now()->toDateTimeString() . '_Report.csv';
$report_path = 'reports/Appointment_' . Carbon::now()->toDateTimeString() . '_Report.csv';
// Log::info(var_dump($data));
$created = Excel::store($data, $report, 'reports');
$user_id = $request->session()->get('user_id');
app('App\Http\Controllers\API\AppointmentController')->sendDocument($report_path, config('constants.DOCUMENT_TYPE.REP'), $user_id);
if($created) {
echo json_encode(array('type' => 'success', 'message' => 'Report Exported successfully'));
}
它是 Exports 中的集合代码:
public function collection()
{
$data = Session::get('report_query');
// Log::info($data);
$d = DB::select($data);
return collect($d);
}
public function headings(): array
{
$field = Session::get('fields');
foreach ($field as $f) {
$arr[] = config("constants.REPORTS_FIELDS." . str_replace('.', '_', $f));
}
return $arr;
// return array_keys($this->collection()->toArray()[0]);
}
解决方案
推荐阅读
- python - 运行 pdb.set_trace() 时保留自定义上下文管理器
- ios - Swift 根据 JSON 值处理收藏和不收藏按钮
- r - 有什么想法为什么我不能用 R 下载这个 xlsx?
- java - 使用 void 方法跨 Optional 进行映射的惯用方式
- gnuradio - GNU Radio Companion:如何将要打印的浮点流转换为控制台?
- html - 后端不接受检查。有没有别的办法
- vba - VBA代码用多列数据检查一列数据?
- prestashop - Prestashop 1.6.1 助手表单字段未定义索引
- excel - 基于前两个单元格的条件excel数字和公式格式
- javascript - 你已经一起安装了 webpack-cli 和 webpack-command