^ app\Request {#26 #pathinfoFetch: array:3 [ 0 => "ORIG_PATH_INFO" 1 => "REDIRECT_PATH_INFO" 2 => "REDIRECT_URL" ] #varPathinfo: "s" #varMethod: "_method" #varAjax: "_ajax" #varPjax: "_pjax" #rootDomain: "" #httpsAgentName: "" #proxyServerIp: [] #proxyServerIpHeader: array:5 [ 0 => "HTTP_X_REAL_IP" 1 => "HTTP_X_FORWARDED_FOR" 2 => "HTTP_CLIENT_IP" 3 => "HTTP_X_CLIENT_IP" 4 => "HTTP_X_CLUSTER_CLIENT_IP" ] #method: "GET" #domain: null #host: null #subDomain: "www" #panDomain: null #url: null #baseUrl: null #baseFile: null #root: null #pathinfo: "hy_news/48/W52QFH57.html" #path: null #realIP: null #controller: "Index" #action: "info" #param: [] #get: [] #post: [] #request: [] #rule: think\route\RuleItem {#51 #miss: false #autoOption: true #name: "index/info" #domain: null #router: think\Route {#41 #rest: array:7 [ "index" => array:3 [ 0 => "get" 1 => "" 2 => "index" ] "create" => array:3 [ 0 => "get" 1 => "/create" 2 => "create" ] "edit" => array:3 [ 0 => "get" 1 => "/<id>/edit" 2 => "edit" ] "read" => array:3 [ 0 => "get" 1 => "/<id>" 2 => "read" ] "save" => array:3 [ 0 => "post" 1 => "" 2 => "save" ] "update" => array:3 [ 0 => "put" 1 => "/<id>" 2 => "update" ] "delete" => array:3 [ 0 => "delete" 1 => "/<id>" 2 => "delete" ] ] #config: array:21 [ "pathinfo_depr" => "/" "url_lazy_route" => false "url_route_must" => false "route_rule_merge" => false "route_complete_match" => false "remove_slash" => false "route_annotation" => false "default_route_pattern" => "[\w\.]+" "url_html_suffix" => "html" "controller_layer" => "controller" "empty_controller" => "Error" "controller_suffix" => false "default_controller" => "Index" "default_action" => "index" "action_suffix" => "" "url_common_param" => true "request_cache_key" => true "request_cache_expire" => 0 "request_cache_except" => [] "default_jsonp_handler" => "jsonpReturn" "var_jsonp_handler" => "callback" ] #app: think\App {#3 #appDebug: false #beginTime: 1766117107.9833 #beginMem: 742704 #namespace: "app\index" #rootPath: "/var/www/html/" #thinkPath: "/var/www/html/vendor/topthink/framework/src/" #appPath: "/var/www/html/app/index/" #runtimePath: "/var/www/html/runtime/index/" #routePath: "" #configExt: ".php" #initializers: array:3 [ 0 => "think\initializer\Error" 1 => "think\initializer\RegisterService" 2 => "think\initializer\BootService" ] #services: array:6 [ 0 => app\AppService {#2 #app: think\App {#3} } 1 => think\service\PaginatorService {#7 #app: think\App {#3} } 2 => think\service\ValidateService {#12 #app: think\App {#3} } 3 => think\service\ModelService {#13 #app: think\App {#3} } 4 => think\app\Service {#14 #app: think\App {#3} } 5 => think\trace\Service {#15 #app: think\App {#3} } ] #initialized: true #bind: array:27 [ "app" => "think\App" "cache" => "think\Cache" "config" => "think\Config" "console" => "think\Console" "cookie" => "think\Cookie" "db" => "think\Db" "env" => "think\Env" "event" => "think\Event" "http" => "think\Http" "lang" => "think\Lang" "log" => "think\Log" "middleware" => "think\Middleware" "request" => "think\Request" "response" => "think\Response" "route" => "think\Route" "session" => "think\Session" "validate" => "think\Validate" "view" => "think\View" "filesystem" => "think\Filesystem" "think\DbManager" => "think\Db" "think\LogManager" => "think\Log" "think\CacheManager" => "think\Cache" "Psr\Log\LoggerInterface" => "think\Log" "think\Request" => "app\Request" "think\exception\Handle" => "app\ExceptionHandle" "think\Paginator" => "think\paginator\driver\Bootstrap" "think\route\Url" => "think\app\Url" ] #instances: array:18 [ "think\App" => think\App {#3} "think\Container" => think\App {#3} "think\Http" => think\Http {#6 #app: think\App {#3} #name: "index" #path: null #routePath: "/var/www/html/app/index/route/" #isBind: false } "think\Env" => think\Env {#5 #data: array:38 [ "HOSTNAME" => "e9dade6b462f" "PHP_VERSION" => "7.4.15" "APACHE_CONFDIR" => "/etc/apache2" "PHP_INI_DIR" => "/usr/local/etc/php" "GPG_KEYS" => "42670A7FE4D0441C8E4632349E4FDC074A4EF02D 5A52880781F755608BF815FC910DEB46F53EA312" "PHP_LDFLAGS" => "-Wl,-O1 -pie" "PWD" => "/var/www/html" "TZ" => "Asia/Shanghai" "APACHE_LOG_DIR" => "/var/log/apache2" "LANG" => "C" "PHP_SHA256" => "9b859c65f0cf7b3eff9d4a28cfab719fb3d36a1db3c20d874a79b5ec44d43cb8" "APACHE_PID_FILE" => "/var/run/apache2/apache2.pid" "PHPIZE_DEPS" => "autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c" "PHP_URL" => "https://www.php.net/distributions/php-7.4.15.tar.xz" "APACHE_RUN_GROUP" => "www-data" "APACHE_LOCK_DIR" => "/var/lock/apache2" "PHP_EXTRA_CONFIGURE_ARGS" => "--with-apxs2 --disable-cgi" "SHLVL" => "0" "PHP_CFLAGS" => "-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" "APACHE_RUN_DIR" => "/var/run/apache2" "APACHE_ENVVARS" => "/etc/apache2/envvars" "APACHE_RUN_USER" => "www-data" "PATH" => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" "PHP_EXTRA_BUILD_DEPS" => "apache2-dev" "PHP_ASC_URL" => "https://www.php.net/distributions/php-7.4.15.tar.xz.asc" "PHP_CPPFLAGS" => "-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" "APP_DEBUG" => "" "APP_DEFAULT_TIMEZONE" => "Asia/Shanghai" "DATABASE_TYPE" => "mysql" "DATABASE_HOSTNAME" => "192.168.88.88" "DATABASE_DATABASE" => "szhzywl" "DATABASE_USERNAME" => "hzy_web" "DATABASE_PASSWORD" => "hzy_24678_mydb" "DATABASE_HOSTPORT" => "3306" "DATABASE_CHARSET" => "utf8" "DATABASE_DEBUG" => "1" "DATABASE_PREFIX" => "web_" "LANG_DEFAULT_LANG" => "zh-cn" ] } "think\Config" => think\Config {#8 #config: array:13 [ "app" => array:12 [ "app_host" => "" "app_namespace" => "" "with_route" => true "app_express" => true "default_app" => "index" "default_timezone" => "Asia/Shanghai" "app_map" => [] "domain_bind" => [] "deny_app_list" => [] "exception_tmpl" => "/var/www/html/vendor/topthink/framework/src/tpl/think_exception.tpl" "error_message" => "页面错误!请稍后再试~" "show_error_msg" => false ] "cache" => array:2 [ "default" => "file" "stores" => array:1 [ "file" => array:6 [ "type" => "File" "path" => "" "prefix" => "" "expire" => 0 "tag_prefix" => "tag:" "serialize" => [] ] ] ] "console" => array:1 [ "commands" => [] ] "cookie" => array:7 [ "expire" => 0 "path" => "/" "domain" => "" "secure" => false "httponly" => false "setcookie" => true "samesite" => "" ] "database" => array:5 [ "default" => "mysql" "time_query_rule" => [] "auto_timestamp" => true "datetime_format" => "Y-m-d H:i:s" "connections" => array:1 [ "mysql" => array:17 [ "type" => "mysql" "hostname" => "192.168.88.88" "database" => "szhzywl" "username" => "hzy_web" "password" => "hzy_24678_mydb" "hostport" => "3306" "params" => [] "charset" => "utf8" "prefix" => "web_" "deploy" => 0 "rw_separate" => false "master_num" => 1 "slave_no" => "" "fields_strict" => true "break_reconnect" => false "trigger_sql" => "" "fields_cache" => false ] ] ] "filesystem" => array:2 [ "default" => "local" "disks" => array:2 [ "local" => array:2 [ "type" => "local" "root" => "/var/www/html/runtime/bucket" ] "public" => array:4 [ "type" => "local" "root" => "/var/www/html/public/static/bucket" "url" => "/static/bucket" "visibility" => "public" ] ] ] "lang" => array:9 [ "default_lang" => "zh-cn" "allow_lang_list" => [] "detect_var" => "lang" "use_cookie" => true "cookie_var" => "think_lang" "header_var" => "think-lang" "extend_list" => [] "accept_language" => array:1 [ "zh-hans-cn" => "zh-cn" ] "allow_group" => false ] "log" => array:6 [ "default" => "file" "level" => [] "type_channel" => [] "close" => false "processor" => null "channels" => array:1 [ "file" => array:10 [ "type" => "File" "path" => "" "single" => false "apart_level" => [] "max_files" => 0 "json" => false "processor" => null "close" => false "format" => "[%s][%s] %s" "realtime_write" => false ] ] ] "middleware" => array:2 [ "alias" => [] "priority" => [] ] "route" => array:19 [ "pathinfo_depr" => "/" "url_html_suffix" => "html" "url_common_param" => true "url_lazy_route" => false "url_route_must" => false "route_rule_merge" => false "route_complete_match" => false "controller_layer" => "controller" "empty_controller" => "Error" "controller_suffix" => false "default_route_pattern" => "[\w\.]+" "request_cache_key" => true "request_cache_expire" => 0 "request_cache_except" => [] "default_controller" => "Index" "default_action" => "index" "action_suffix" => "" "default_jsonp_handler" => "jsonpReturn" "var_jsonp_handler" => "callback" ] "session" => array:6 [ "name" => "PHPSESSID" "var_session_id" => "" "type" => "file" "store" => null "expire" => 14400 "prefix" => "" ] "trace" => array:2 [ "type" => "Html" "channel" => "" ] "view" => array:10 [ "type" => "Think" "auto_rule" => 1 "view_dir_name" => "view" "view_suffix" => "html" "view_depr" => "/" "tpl_begin" => "{" "tpl_end" => "}" "taglib_begin" => "{" "taglib_end" => "}" "tpl_replace_string" => array:8 [ "__PUBLIC__" => "/" "__STATIC__" => "/static" "__LIB__" => "/static/lib" "__ADMIN__" => "/static/admin" "__INDEX__" => "/static/index" "__LOCAL_UPLOAD__" => think\app\Url {#49 #app: think\App {#3} #route: think\Route {#41} #vars: [] #url: "/admin/adminAccount/local_upload" #root: "" #https: null #suffix: true #domain: false : "/admin/adminAccount/local_upload" : [] : true : false } "__REMOTE_UPLOAD__" => think\app\Url {#50 #app: think\App {#3} #route: think\Route {#41} #vars: [] #url: "/admin/adminAccount/remote_upload" #root: "" #https: null #suffix: true #domain: false : "/admin/adminAccount/remote_upload" : [] : true : false } "__IMG_URL__" => "" ] ] ] #path: "/var/www/html/config/" #ext: ".php" } "think\Event" => think\Event {#9 #listener: array:5 [ "think\event\AppInit" => [] "think\event\HttpRun" => array:1 [ 0 => Closure() {#24 : "think\app\Service" : think\app\Service {#14} } ] "think\event\HttpEnd" => [] "LogLevel" => [] "think\event\LogWrite" => [] ] #bind: array:5 [ "AppInit" => "think\event\AppInit" "HttpRun" => "think\event\HttpRun" "HttpEnd" => "think\event\HttpEnd" "RouteLoaded" => "think\event\RouteLoaded" "LogWrite" => "think\event\LogWrite" ] #app: think\App {#3} } "think\Lang" => think\Lang {#11 #config: array:9 [ "default_lang" => "zh-cn" "allow_lang_list" => [] "use_cookie" => true "extend_list" => [] "cookie_var" => "think_lang" "header_var" => "think-lang" "detect_var" => "lang" "accept_language" => array:1 [ "zh-hans-cn" => "zh-cn" ] "allow_group" => false ] -lang: array:1 [ "zh-cn" => array:126 [ "undefined variable" => "未定义变量" "undefined index" => "未定义数组索引" "undefined offset" => "未定义数组下标" "parse error" => "语法解析错误" "type error" => "类型错误" "fatal error" => "致命错误" "syntax error" => "语法错误" "dispatch type not support" => "不支持的调度类型" "method param miss" => "方法参数错误" "method not exists" => "方法不存在" "function not exists" => "函数不存在" "app not exists" => "应用不存在" "controller not exists" => "控制器不存在" "class not exists" => "类不存在" "property not exists" => "类的属性不存在" "template not exists" => "模板文件不存在" "illegal controller name" => "非法的控制器名称" "illegal action name" => "非法的操作名称" "url suffix deny" => "禁止的URL后缀访问" "undefined cache config" => "缓存配置未定义" "route not found" => "当前访问路由未定义或不匹配" "undefined db config" => "数据库配置未定义" "undefined log config" => "日志配置未定义" "undefined db type" => "未定义数据库类型" "variable type error" => "变量类型错误" "psr-4 error" => "PSR-4 规范错误" "not support type" => "不支持的分页索引字段类型" "not support total" => "简洁模式下不能获取数据总数" "not support last" => "简洁模式下不能获取最后一页" "error session handler" => "错误的SESSION处理器类" "not allow php tag" => "模板不允许使用PHP语法" "not support" => "不支持" "database config error" => "数据库配置信息错误" "redisd master" => "Redisd 主服务器错误" "redisd slave" => "Redisd 从服务器错误" "must run at sae" => "必须在SAE运行" "memcache init error" => "未开通Memcache服务,请在SAE管理平台初始化Memcache服务" "kvdb init error" => "没有初始化KVDB,请在SAE管理平台初始化KVDB服务" "fields not exists" => "数据表字段不存在" "where express error" => "查询表达式错误" "no data to update" => "没有任何数据需要更新" "miss data to insert" => "缺少需要写入的数据" "miss complex primary data" => "缺少复合主键数据" "miss update condition" => "缺少更新条件" "model data not found" => "模型数据不存在" "table data not found" => "表数据不存在" "delete without condition" => "没有条件不会执行删除操作" "miss relation data" => "缺少关联表数据" "tag attr must" => "模板标签属性必须" "tag error" => "模板标签错误" "cache write error" => "缓存写入失败" "sae mc write error" => "SAE mc 写入错误" "route name not exists" => "路由标识不存在(或参数不够)" "invalid request" => "非法请求" "bind attr has exists" => "模型的属性已经存在" "relation data not exists" => "关联数据不存在" "relation not support" => "关联不支持" "chunk not support order" => "Chunk不支持调用order方法" "route pattern error" => "路由变量规则定义错误" "route behavior will not support" => "路由行为废弃(使用中间件替代)" "closure not support cache(true)" => "使用闭包查询不支持cache(true),请指定缓存Key" "unknown upload error" => "未知上传错误!" "file write error" => "文件写入失败!" "upload temp dir not found" => "找不到临时文件夹!" "no file to uploaded" => "没有文件被上传!" "only the portion of file is uploaded" => "文件只有部分被上传!" "upload file size exceeds the maximum value" => "上传文件大小超过了最大值!" "upload write error" => "文件上传保存错误!" "has the same filename: {:filename}" => "存在同名文件:{:filename}" "upload illegal files" => "非法上传文件" "illegal image files" => "非法图片文件" "extensions to upload is not allowed" => "上传文件后缀不允许" "mimetype to upload is not allowed" => "上传文件MIME类型不允许!" "filesize not match" => "上传文件大小不符!" "directory {:path} creation failed" => "目录 {:path} 创建失败!" "the middleware must return response instance" => "中间件方法必须返回Response对象实例" "the queue was exhausted, with no response returned" => "中间件队列为空" ":attribute require" => ":attribute不能为空" ":attribute must" => ":attribute必须" ":attribute must be numeric" => ":attribute必须是数字" ":attribute must be integer" => ":attribute必须是整数" ":attribute must be float" => ":attribute必须是浮点数" ":attribute must be bool" => ":attribute必须是布尔值" ":attribute not a valid email address" => ":attribute格式不符" ":attribute not a valid mobile" => ":attribute格式不符" ":attribute must be a array" => ":attribute必须是数组" ":attribute must be yes,on or 1" => ":attribute必须是yes、on或者1" ":attribute not a valid datetime" => ":attribute不是一个有效的日期或时间格式" ":attribute not a valid file" => ":attribute不是有效的上传文件" ":attribute not a valid image" => ":attribute不是有效的图像文件" ":attribute must be alpha" => ":attribute只能是字母" ":attribute must be alpha-numeric" => ":attribute只能是字母和数字" ":attribute must be alpha-numeric, dash, underscore" => ":attribute只能是字母、数字和下划线_及破折号-" ":attribute not a valid domain or ip" => ":attribute不是有效的域名或者IP" ":attribute must be chinese" => ":attribute只能是汉字" ":attribute must be chinese or alpha" => ":attribute只能是汉字、字母" ":attribute must be chinese,alpha-numeric" => ":attribute只能是汉字、字母和数字" ":attribute must be chinese,alpha-numeric,underscore, dash" => ":attribute只能是汉字、字母、数字和下划线_及破折号-" ":attribute not a valid url" => ":attribute不是有效的URL地址" ":attribute not a valid ip" => ":attribute不是有效的IP地址" ":attribute must be dateformat of :rule" => ":attribute必须使用日期格式 :rule" ":attribute must be in :rule" => ":attribute必须在 :rule 范围内" ":attribute be notin :rule" => ":attribute不能在 :rule 范围内" ":attribute must between :1 - :2" => ":attribute只能在 :1 - :2 之间" ":attribute not between :1 - :2" => ":attribute不能在 :1 - :2 之间" "size of :attribute must be :rule" => ":attribute长度不符合要求 :rule" "max size of :attribute must be :rule" => ":attribute长度不能超过 :rule" "min size of :attribute must be :rule" => ":attribute长度不能小于 :rule" ":attribute cannot be less than :rule" => ":attribute日期不能小于 :rule" ":attribute cannot exceed :rule" => ":attribute日期不能超过 :rule" ":attribute not within :rule" => "不在有效期内 :rule" "access ip is not allowed" => "不允许的IP访问" "access ip denied" => "禁止的IP访问" ":attribute out of accord with :2" => ":attribute和确认字段:2不一致" ":attribute cannot be same with :2" => ":attribute和比较字段:2不能相同" ":attribute must greater than or equal :rule" => ":attribute必须大于等于 :rule" ":attribute must greater than :rule" => ":attribute必须大于 :rule" ":attribute must less than or equal :rule" => ":attribute必须小于等于 :rule" ":attribute must less than :rule" => ":attribute必须小于 :rule" ":attribute must equal :rule" => ":attribute必须等于 :rule" ":attribute has exists" => ":attribute已存在" ":attribute not conform to the rules" => ":attribute不符合指定规则" "invalid request method" => "无效的请求类型" "invalid token" => "令牌数据无效" "not conform to the rules" => "规则错误" "record has update" => "记录已经被更新了" ] ] -range: "zh-cn" } "think\initializer\Error" => think\initializer\Error {#4 #app: think\App {#3} } "think\initializer\RegisterService" => think\initializer\RegisterService {#10 #services: array:3 [ 0 => "think\service\PaginatorService" 1 => "think\service\ValidateService" 2 => "think\service\ModelService" ] } "think\Middleware" => think\Middleware {#19 #queue: array:1 [ "global" => array:2 [ 0 => array:2 [ 0 => array:2 [ 0 => "think\trace\TraceDebug" 1 => "handle" ] 1 => [] ] 1 => array:2 [ 0 => array:2 [ 0 => "think\app\MultiApp" 1 => "handle" ] 1 => [] ] ] ] #app: think\App {#3} } "think\initializer\BootService" => think\initializer\BootService {#16} "think\Log" => think\Log {#34 #namespace: "\think\log\driver\" #app: think\App {#3} #drivers: [] } "think\Cache" => think\Cache {#35 #namespace: "\think\cache\driver\" #app: think\App {#3} #drivers: array:1 [ "file" => think\cache\driver\File {#30 #options: array:9 [ "expire" => 0 "cache_subdir" => true "prefix" => "" "path" => "/var/www/html/runtime/cache/" "hash_type" => "md5" "data_compress" => false "tag_prefix" => "tag:" "serialize" => [] "type" => "File" ] #handler: null #readTimes: 0 #writeTimes: 0 #tag: [] } ] } "think\Db" => think\Db {#32 #instance: [] #config: think\Config {#8} #event: think\Event {#9} #listen: [] #dbLog: [] #queryTimes: 0 #cache: think\cache\driver\File {#30} #log: think\Log {#34} } "app\Request" => app\Request {#26} "think\trace\TraceDebug" => think\trace\TraceDebug {#42 #log: [] #config: array:2 [ "type" => "Html" "channel" => "" ] #app: think\App {#3} } "think\app\MultiApp" => think\app\MultiApp {#39 #app: think\App {#3} #name: "" #appName: "index" #path: "" } "think\Route" => think\Route {#41} ] #invokeCallback: [] } #request: app\Request {#26} #ruleName: think\route\RuleName {#40 #item: array:5 [ "upload" => array:1 [ 0 => array:4 [ "rule" => "guest/upload" "domain" => "www.szhzywl.com" "method" => "post" "suffix" => null ] ] "send_resume" => array:1 [ 0 => array:4 [ "rule" => "guest/send_resume" "domain" => "www.szhzywl.com" "method" => "post" "suffix" => null ] ] "send_message" => array:1 [ 0 => array:4 [ "rule" => "guest/send_message" "domain" => "www.szhzywl.com" "method" => "post" "suffix" => null ] ] "index/info" => array:1 [ 0 => array:4 [ "rule" => "<name>/<id>/<sn>" "domain" => "www.szhzywl.com" "method" => "get" "suffix" => null ] ] "index/page" => array:2 [ 0 => array:4 [ "rule" => "<name>/<id>" "domain" => "www.szhzywl.com" "method" => "get" "suffix" => null ] 1 => array:4 [ "rule" => "<name>" "domain" => "www.szhzywl.com" "method" => "get" "suffix" => null ] ] ] #rule: array:6 [ "guest/upload" => array:1 [ "upload" => think\route\RuleItem {#54 #miss: false #autoOption: true #name: "upload" #domain: null #router: think\Route {#41} #parent: think\route\RuleGroup {#52 #rules: array:6 [ 0 => array:2 [ 0 => "post" 1 => think\route\RuleItem {#54} ] 1 => array:2 [ 0 => "options" 1 => think\route\RuleItem {#54} ] 2 => array:2 [ 0 => "post" 1 => think\route\RuleItem {#55 #miss: false #autoOption: true #name: "send_resume" #domain: null #router: think\Route {#41} #parent: think\route\RuleGroup {#52} #rule: "guest/send_resume" #route: "send_resume" #method: "post" #vars: [] #option: [] #pattern: [] #mergeOptions: array:3 [ 0 => "model" 1 => "append" 2 => "middleware" ] : "send_resume" : "guest/send_resume" : "send_resume" : "post" : [] : [] : [] } ] 3 => array:2 [ 0 => "options" 1 => think\route\RuleItem {#55} ] 4 => array:2 [ 0 => "post" 1 => think\route\RuleItem {#56 #miss: false #autoOption: true #name: "send_message" #domain: null #router: think\Route {#41} #parent: think\route\RuleGroup {#52} #rule: "guest/send_message" #route: "send_message" #method: "post" #vars: [] #option: [] #pattern: [] #mergeOptions: array:3 [ 0 => "model" 1 => "append" 2 => "middleware" ] : "send_message" : "guest/send_message" : "send_message" : "post" : [] : [] : [] } ] 5 => array:2 [ 0 => "options" 1 => think\route\RuleItem {#56} ] ] #rule: null #miss: null #fullName: "guest" #alias: null #name: "guest" #domain: "www.szhzywl.com" #router: think\Route {#41} #parent: think\route\Domain {#47 #rules: array:7 [ 0 => array:2 [ 0 => "*" 1 => think\route\RuleGroup {#52} ] 1 => array:2 [ 0 => "get" 1 => think\route\RuleItem {#51} ] 2 => array:2 [ 0 => "options" 1 => think\route\RuleItem {#51} ] 3 => array:2 [ 0 => "get" 1 => think\route\RuleItem {#53 #miss: false #autoOption: true #name: "index/page" #domain: null #router: think\Route {#41} #parent: think\route\Domain {#47} #rule: "<name>/<id>" #route: "index/page" #method: "get" #vars: [] #option: [] #pattern: [] #mergeOptions: array:3 [ 0 => "model" 1 => "append" 2 => "middleware" ] : "index/page" : "<name>/<id>" : "index/page" : "get" : [] : [] : [] } ] 4 => array:2 [ 0 => "options" 1 => think\route\RuleItem {#53} ] 5 => array:2 [ 0 => "get" 1 => think\route\RuleItem {#57 #miss: false #autoOption: true #name: "index/page" #domain: null #router: think\Route {#41} #parent: think\route\Domain {#47} #rule: "<name>" #route: "index/page" #method: "get" #vars: [] #option: [] #pattern: [] #mergeOptions: array:3 [ 0 => "model" 1 => "append" 2 => "middleware" ] : "index/page" : "<name>" : "index/page" : "get" : [] : [] : [] } ] 6 => array:2 [ 0 => "options" 1 => think\route\RuleItem {#57} ] ] #rule: null #miss: null #fullName: null #alias: null #name: null #domain: "www.szhzywl.com" #router: think\Route {#41} #parent: null #route: null #method: null #vars: [] #option: array:2 [ "remove_slash" => false "merge_rule_regex" => false ] #pattern: array:3 [ "name" => "\w+" "id" => "\d+" "sn" => "\w+" ] #mergeOptions: array:3 [ 0 => "model" 1 => "append" 2 => "middleware" ] : null : null : null : null : [] : array:2 [ "remove_slash" => false "merge_rule_regex" => false ] : array:3 [ "name" => "\w+" "id" => "\d+" "sn" => "\w+" ] } #route: null #method: null #vars: [] #option: array:3 [ "remove_slash" => false "merge_rule_regex" => false "prefix" => "guest/" ] #pattern: [] #mergeOptions: array:3 [ 0 => "model" 1 => "append" 2 => "middleware" ] : "guest" : null : null : null : [] : array:3 [ "remove_slash" => false "merge_rule_regex" => false "prefix" => "guest/" ] : [] } #rule: "guest/upload" #route: "upload" #method: "post" #vars: [] #option: [] #pattern: [] #mergeOptions: array:3 [ 0 => "model" 1 => "append" 2 => "middleware" ] : "upload" : "guest/upload" : "upload" : "post" : [] : [] : [] } ] "guest/send_resume" => array:1 [ "send_resume" => think\route\RuleItem {#55} ] "guest/send_message" => array:1 [ "send_message" => think\route\RuleItem {#56} ] "<name>/<id>/<sn>" => array:1 [ "index/info" => think\route\RuleItem {#51} ] "<name>/<id>" => array:1 [ "index/page" => think\route\RuleItem {#53} ] "<name>" => array:1 [ "index/page" => think\route\RuleItem {#57} ] ] #group: array:1 [ "guest" => think\route\RuleGroup {#52} ] } #host: "www.szhzywl.com" #group: think\route\Domain {#43 #rules: [] #rule: null #miss: null #fullName: null #alias: null #name: null #domain: null #router: think\Route {#41} #parent: null #route: null #method: null #vars: [] #option: array:1 [ "remove_slash" => false ] #pattern: [] #mergeOptions: array:3 [ 0 => "model" 1 => "append" 2 => "middleware" ] : null : null : null : null : [] : array:1 [ "remove_slash" => false ] : [] } #bind: [] #domains: array:3 [ "-" => think\route\Domain {#43} "www.szhzywl.com" => think\route\Domain {#47} "szhzywl.com" => "www.szhzywl.com" ] #cross: null #lazy: false #isTest: false #mergeRuleRegex: false #removeSlash: false } #parent: think\route\Domain {#47} #rule: "<name>/<id>/<sn>" #route: "index/info" #method: "get" #vars: array:3 [ "name" => "hy_news" "id" => "48" "sn" => "W52QFH57" ] #option: [] #pattern: [] #mergeOptions: array:3 [ 0 => "model" 1 => "append" 2 => "middleware" ] : "index/info" : "<name>/<id>/<sn>" : "index/info" : "get" : array:3 [ "name" => "hy_news" "id" => "48" "sn" => "W52QFH57" ] : [] : [] } #route: array:3 [ "name" => "hy_news" "id" => "48" "sn" => "W52QFH57" ] #middleware: [] #put: [] #session: null #cookie: [] #env: think\Env {#5} #server: array:37 [ "REDIRECT_STATUS" => "200" "HTTP_HOST" => "www.szhzywl.com" "HTTP_X_REAL_IP" => "216.73.216.80" "HTTP_X_FORWARDED_FOR" => "216.73.216.80" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CONNECTION" => "close" "HTTP_ACCEPT" => "*/*" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_ACCEPT_ENCODING" => "gzip, br, zstd, deflate" "PATH" => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" "SERVER_SIGNATURE" => "<address>Apache/2.4.38 (Debian) Server at www.szhzywl.com Port 80</address>\n" "SERVER_SOFTWARE" => "Apache/2.4.38 (Debian)" "SERVER_NAME" => "www.szhzywl.com" "SERVER_ADDR" => "192.168.88.4" "SERVER_PORT" => "80" "REMOTE_ADDR" => "192.168.88.1" "DOCUMENT_ROOT" => "/var/www/html/public" "REQUEST_SCHEME" => "http" "CONTEXT_PREFIX" => "" "CONTEXT_DOCUMENT_ROOT" => "/var/www/html/public" "SERVER_ADMIN" => "[no address given]" "SCRIPT_FILENAME" => "/var/www/html/public/index.php" "REMOTE_PORT" => "46276" "REDIRECT_URL" => "/hy_news/48/W52QFH57.html" "GATEWAY_INTERFACE" => "CGI/1.1" "SERVER_PROTOCOL" => "HTTP/1.0" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "REQUEST_URI" => "/hy_news/48/W52QFH57.html" "SCRIPT_NAME" => "/index.php" "PATH_INFO" => "/hy_news/48/W52QFH57.html" "PATH_TRANSLATED" => "redirect:/index.php/hy_news/48/W52QFH57.html/48/W52QFH57.html" "PHP_SELF" => "/index.php/hy_news/48/W52QFH57.html" "REQUEST_TIME_FLOAT" => 1766117107.9809 "REQUEST_TIME" => 1766117107 "argv" => [] "argc" => 0 ] #file: [] #header: array:8 [ "host" => "www.szhzywl.com" "x-real-ip" => "216.73.216.80" "x-forwarded-for" => "216.73.216.80" "x-forwarded-proto" => "https" "connection" => "close" "accept" => "*/*" "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "accept-encoding" => "gzip, br, zstd, deflate" ] #mimeType: array:12 [ "xml" => "application/xml,text/xml,application/x-xml" "json" => "application/json,text/x-json,application/jsonrequest,text/json" "js" => "text/javascript,application/javascript,application/x-javascript" "css" => "text/css" "rss" => "application/rss+xml" "yaml" => "application/x-yaml,text/yaml" "atom" => "application/atom+xml" "pdf" => "application/pdf" "text" => "text/plain" "image" => "image/png,image/jpg,image/jpeg,image/pjpeg,image/gif,image/webp,image/*" "csv" => "text/csv" "html" => "text/html,application/xhtml+xml,*/*" ] #content: null #filter: null #input: "" #secureKey: null #mergeParam: false }
◆梳理今年以来各地通报的违规招标案例发现,在招标条件上“搞小动作”的并不少见,有的在企业资质上做文章,有的在投标履约保证金上大幅提高门槛
◆相比于被动围猎,一些评标专家主动钻空子的破坏力更大
文 |《瞭望》新闻周刊记者 李兴文 余贤红 黄浩然
名义上设定招标资质,实际上是量身定做;台上90多家企业投标竞争,竟是台下4人联手“导演”的;顶着评标专家的名头,干的是坐收渔利的生意……近日《瞭望》新闻周刊记者采访了解到,一些地方工程招投标领域滋生假招标、假投标、假评标乱象,严重扰乱市场秩序,破坏市场公平。
工程招投标领域资源密集、投资集中,长期以来存在围标串标、违法转包等顽瘴痼疾。近年来,各地各部门持续加大力度整治,取得明显成效。与此同时,一些违法行为改头换面、经过层层包装披上看似“合法”的外衣,极具隐蔽性、迷惑性,尤其需要引起警惕。
假招标
招投标是腐败问题易发高发领域,近年来各地严查领导干部违规插手干预工程项目招投标行为。记者采访发现,一些更为隐蔽的招标腐败值得警惕。
一是“量身定制”。“表面上看,什么事都走了程序,但招标过程中却设定了明显倾向性条件。”说起招标“潜规则”,南方某地一位办案人员举例介绍,当地公开招标的一个外墙粉刷项目,要求参加招标的企业曾获“鲁班奖”,不少原本有意向的企业看到这一条件后“心领神会”。
梳理今年以来各地通报的违规招标案例发现,在招标条件上“搞小动作”的并不少见,有的在企业资质上做文章,有的在投标履约保证金上大幅提高门槛,其目的都是为了限制、排斥潜在投标人,从而为意向投标人大开方便之门。
二是“找人代理”。近年来,一些官员选择通过招标代理公司承担招投标工作,看似客观中立,实则暗藏猫腻。11月底,四川省纪委监委公开曝光的一起案例中,乐山市井研县人民政府原常务副县长朱万春、县自然资源局原局长但雄伟在一项目招投标期间,串通多个公司多名人员,通过安排招标代理机构、泄露招标信息等方式,帮助一公司以最低价中标。
“项目建设单位在招投标中处于强势地位,控制着招投标的主动权。”一位市场从业人员分析说,当前招标代理公司竞争异常激烈,为了争抢市场,有的招标代理公司甘当建设单位的“白手套”。
三是“化整为零”。《中华人民共和国招标投标法》明确规定,任何单位和个人不得将依法必须进行招标的项目化整为零或者以其他方式规避招标。实际工作中,一些项目建设单位却故意将不宜拆分的工程项目肢解为若干小项目,以此降低标的,变公开招标为内部运作。据中央纪委国家监委网站通报,湖南省城步县农综办负责人没有按照县政府对该项目“应统一实施,不能拆分”的要求,组织县农综办班子成员及部门负责人召开会议,将县奶业产业园二期工程建设项目拆分为7个标段进行邀请招标,规避公开招标。
南昌大学经济管理学院教授彭迪云说,这样违规插手干预工程招投标,严重影响公平竞争的市场秩序,扭曲资源配置。要进一步提高招投标管理透明度,防止暗箱操作。特别要管住领导干部这个“关键少数”,深入查找紧盯其在招投标各环节的廉政风险点。
假投标
招标的目的是要通过公开发布信息,获得多家投标者参与竞争,以择优中标。然而,在招投标市场上,少数违法分子却大肆围标串标牟取利益。
2020年3月,江西吉安市井开区银庐陵建设投资有限公司发布一项目招标公告,92家公司参与项目投标。有关部门调查后发现,这背后是4人一手“导演”,以每家公司2万元至3万元的价格邀请来的。中标后,项目施工权被以中标金额的7%即980万元出售。4人犯串通投标罪,被依法查处。
业内人士介绍,一些具有施工资质的企业出卖“资质”供他人投标,为围标串标提供了生存土壤。
除了雇人假投标,也出现了标书靠复制、业绩靠拼凑的现象。在江西省住建厅最近通报的一起案例中,江西正华工程项目管理有限公司、江西省江信工程监理有限公司、江西省建筑工程建设监理有限公司在参与南昌高新区中节能国际中心2号楼工程监理等27个项目投标中,其投标文件制作机器码和上传IP地址都是相同的,涉嫌相互串通投标。
专家认为,我国刑法规定,串通投标罪的刑期为三年以下有期徒刑。一些大项目围标串标获利高达千万元,一些人为利所驱,心存侥幸,不惜铤而走险。因此,应考虑加大对这一违法行为的惩处力度,增加违法成本,对不法分子形成强大震慑。
假评标
评标专家是招投标过程中对提交的资格预审申请文件和投标文件进行审查或评审的专业人员。而实际工作中,一些企业通过各种渠道“围猎”评标专家,少数评标专家底线失守,没有做到公平公正,反而坐收渔利。
一位建筑企业的工作人员告诉记者,打点关系、“勾兑专家”是工程招投标的潜规则。目前采取评标前随机抽选专家的方式,但是在一些地方,数据库的专家人数有限,获得专家名单并不难。
评标专家一旦收受贿赂,招投标结果也就少了悬念。江西省抚州市建筑综合管理站原副站长夏某,近年来在参与上饶市德兴市农贸市场项目、吉安市永丰二中项目等多个项目监理标评审期间,非法收受贿赂共计23.5万元。作为回报,夏某为有关公司成功中标提供帮助。
相比于被动围猎,个别评标专家主动钻空子的破坏力更大。江苏省常州市新北区水利管理服务中心的工作人员王斌,曾是单位唯一具有水利工程技术资格的专家。然而,这位“行家”却并未将其专业优势用在正道上,而是与投标单位结成利益同盟,对经手的水利工程雁过拔毛,多次导演了串标让标、违法分包、虚报工程量的肮脏交易,干扰市场秩序。今年8月,王斌一审获刑三年零八个月,并处罚金人民币25万元。
江西师范大学政法学院副院长颜三忠说,当前一些地方在评标专家管理上存在着抽选程序流于形式、管理考评不严,对违规专家处理失之于宽、失之于软等问题,要进一步完善评标专家行为监督,严格招投标过程中专家的抽取、通知和进场程序,同时建立健全违规违纪取消资格的清出机制,对职业道德差的专家要严肃处理,确保评标公平公正。
刊于《瞭望》2021年第51期