========== [1] PHP 环境检查 ========== PHP 版本: 8.3.25 memory_limit: 128M max_execution_time: 30s disable_functions: (无) exec() 可用: 是 ← 被禁用则 is_company_particulars_pdf() 抛 Error → 500空! curl 扩展: 是 ========== [2] python + exec 检测(查册文件检测依赖) ========== python 命令: 返回码=0 输出=Python 3.12.10 检测脚本存在: 是 (E:\phpProject\TEST\es\es_haiya/python/company_particulars_detector.py) ========== [3] 百度OCR连通性(aip.baidubce.com) ========== curl_errno=0 连通成功(响应前缀: {"error_description":"unknown client id","error":") ========== [4] generate() 全链路复现(捕获 Throwable) ========== generate() 返回: {"success":false,"error":"SQL执行失败: SQLSTATE[42S22]: [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Invalid column name 'AR'. SQL: \r\n SELECT TOP 1\r\n fes.AR AS AR1,\r\n vg.AR AS AR2,\r\n gt.AR AS AR3,\r\n vg.Attachment,\r\n vg.BusinessLicenseDirection,\r\n fes.BusinessLicenseDirection AS BusinessLicenseDirection1,\r\n gt.BusinessLicenseDirection AS BusinessLicenseDirection2,\r\n gt.Attachment AS Attachment1,\r\n fes.Attachment AS Attachment2,\r\n bc.NameEng,\r\n bc.NameCN,\r\n bc.LegalPersonEmail,\r\n bc.RegNumber,\r\n bc.LegalPersonFullNamePinYin,\r\n bc.LegalPersonName,\r\n bc.RegisteredCapital,\r\n bc.RegisteredCapitalCurrency,\r\n bc.EstablishmentDate,\r\n bc.CityEngName,\r\n bc.RegAddressEng,\r\n bc.BusinessLicensePic,\r\n bc.LegalPersonIdNumberFrontPic,\r\n bc.LegalPersonIdNumberBackPic,\r\n bc.LegalPersonGender,\r\n bc.Nationality,\r\n bc.LegalPersonIdNumber,\r\n bc.LegalPersonIdStartDate,\r\n bc.LegalPersonIdEndDate,\r\n bc.LegalPersonCityEngName,\r\n bc.LegalPersonIDCardAddressEng,\r\n bc.LegalPersonBirthDate,\r\n bc.LegalSignedFile,\r\n bc.NameCN,\r\n vb.BusinessCode,\r\n vb.Code,\r\n vb.ID,\r\n vri.id AS VATRegInfoId,\r\n vb.PushTaxBureauStatus,\r\n vb.PushTaxBureauErrorMsg,\r\n ps.SpecsName,\r\n bc.LegalPersonIDCardType,\r\n bc.LegalPersonCountry,\r\n bc.LegalPersonAddressProvinceEn,\r\n bc.CompanyAddressLine1En,\r\n bc.CompanyAddressLine2En,\r\n bc.CompanyAddressPostcode,\r\n bc.CompanyAddressProvinceEn,\r\n bc.Country AS CompanyCountry,\r\n bu.F_Mobile as LinkedSalesContactPhone,\r\n vg.HagueType,\r\n fes.HagueType AS HagueType1,\r\n gt.HagueType AS HagueType2,\r\n bc.BusinessCRFile\r\n FROM VATRegInfo vri\r\n LEFT JOIN VATBusinessRecord vb ON vri.VATBusinessRecordID = vb.ID\r\n LEFT JOIN Base_Customer_Company bc ON bc.ID = vb.CompanyID\r\n LEFT JOIN ESVAT_Register vg ON vg.ID = vb.ID\r\n LEFT JOIN GeneralTemplateVAT gt ON gt.ID = vb.ID\r\n LEFT JOIN ESVAT_SubAgent fes ON fes.ID = vb.ID\r\n LEFT JOIN MS_OrderDetails mo ON vb.MSOrderDetailsID = mo.ID\r\n LEFT JOIN ProductSpecs ps ON ps.ID=mo.SKUSpecificationID\r\n LEFT JOIN Base_User bu ON bu.F_UserId = vb.BusinessCounselorId\r\n WHERE vb.Country = 'ES' AND vri.id = :id\r\n "} [同步阶段失败] error=SQL执行失败: SQLSTATE[42S22]: [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Invalid column name 'AR'. SQL: SELECT TOP 1 fes.AR AS AR1, vg.AR AS AR2, gt.AR AS AR3, vg.Attachment, vg.BusinessLicenseDirection, fes.BusinessLicenseDirection AS BusinessLicenseDirection1, gt.BusinessLicenseDirection AS BusinessLicenseDirection2, gt.Attachment AS Attachment1, fes.Attachment AS Attachment2, bc.NameEng, bc.NameCN, bc.LegalPersonEmail, bc.RegNumber, bc.LegalPersonFullNamePinYin, bc.LegalPersonName, bc.RegisteredCapital, bc.RegisteredCapitalCurrency, bc.EstablishmentDate, bc.CityEngName, bc.RegAddressEng, bc.BusinessLicensePic, bc.LegalPersonIdNumberFrontPic, bc.LegalPersonIdNumberBackPic, bc.LegalPersonGender, bc.Nationality, bc.LegalPersonIdNumber, bc.LegalPersonIdStartDate, bc.LegalPersonIdEndDate, bc.LegalPersonCityEngName, bc.LegalPersonIDCardAddressEng, bc.LegalPersonBirthDate, bc.LegalSignedFile, bc.NameCN, vb.BusinessCode, vb.Code, vb.ID, vri.id AS VATRegInfoId, vb.PushTaxBureauStatus, vb.PushTaxBureauErrorMsg, ps.SpecsName, bc.LegalPersonIDCardType, bc.LegalPersonCountry, bc.LegalPersonAddressProvinceEn, bc.CompanyAddressLine1En, bc.CompanyAddressLine2En, bc.CompanyAddressPostcode, bc.CompanyAddressProvinceEn, bc.Country AS CompanyCountry, bu.F_Mobile as LinkedSalesContactPhone, vg.HagueType, fes.HagueType AS HagueType1, gt.HagueType AS HagueType2, bc.BusinessCRFile FROM VATRegInfo vri LEFT JOIN VATBusinessRecord vb ON vri.VATBusinessRecordID = vb.ID LEFT JOIN Base_Customer_Company bc ON bc.ID = vb.CompanyID LEFT JOIN ESVAT_Register vg ON vg.ID = vb.ID LEFT JOIN GeneralTemplateVAT gt ON gt.ID = vb.ID LEFT JOIN ESVAT_SubAgent fes ON fes.ID = vb.ID LEFT JOIN MS_OrderDetails mo ON vb.MSOrderDetailsID = mo.ID LEFT JOIN ProductSpecs ps ON ps.ID=mo.SKUSpecificationID LEFT JOIN Base_User bu ON bu.F_UserId = vb.BusinessCounselorId WHERE vb.Country = 'ES' AND vri.id = :id => 该错误会被 errorResponse(400) 返回(有内容),不是 500 空 ========== [5] AsyncVATTasks 已有任务检查 ========== 无已有任务 ========== [6] VATRegInfo / 附件数据核验 ========== VATRegInfo: 未找到! ========== 诊断结束 ========== 结论速查: - 500 空内容 = PHP 致命错误(Error未捕获/内存溢出/超时),必查 [1]disable_functions、PHP error_log - 若线上 error log 有 'Call to undefined function exec()' → php.ini 禁用了 exec - 若线上 error log 有 'Allowed memory size exhausted' → 82MB 扫描版PDF base64 内存溢出 - 若响应有内容(JSON 500) → existing_task 分支缺陷(任务存在时必现)