无法获取 'var/lib/mysql/ 的统计信息(错误代码:2)
Cant get stat of 'var/lib/mysql/ (Errcode:2)
这段带有路径的代码在本地主机上对我来说工作正常
$sql = "LOAD DATA INFILE 'C://xampp/htdocs/xampp/www/tool/".@mysql_escape_string($this->file_name).
"' INTO TABLE `".$this->table_name.
"` FIELDS TERMINATED BY '".@mysql_escape_string($this->field_separate_char).
"' OPTIONALLY ENCLOSED BY '".@mysql_escape_string($this->field_enclose_char).
"' ESCAPED BY '".@mysql_escape_string($this->field_escape_char).
"' LINES TERMINATED BY '" .@mysql_escape_string("\r\n") . "' ".
($this->use_csv_header ? " IGNORE 1 LINES " : "")
."(`".implode("`,`", $this->arr_csv_columns)."`)";
//echo $sql;
mysqli_query(DB::cxn(),$sql) or die("Import Error: " . mysqli_error(DB::cxn()));
// Delete the file now it's been imported
unlink("C:/xampp/htdocs/xampp/www/tool/". $this->file_name);
现在,当我 运行 在 centos 服务器中时,我给出的路径类似于
$sql = "LOAD DATA INFILE 'var/www/html/tool/".@mysql_escape_string($this->file_name).
unlink("var/www/html/tool/". $this->file_name);
Cant get stat of 'var/lib/mysql/var/www/html/tool/file.csv (Errcode:2)
现在当我使用 LOAD DATA LOCAL INFILE
'var/www/html/tool
时,它正在给予
cant find file 'var/www/html/file.scv
我的网络根文件夹在 /var/www/html/tool
中,我通过 xxx.xxx.xx.xx/tool
访问它
每次在服务器位置 /var/www/html/tool
上传 csv 文件时 OWNER as apache-Apache
有 Read and Write
Group as apache having only Read Only permisssion
我试过 chmod 777 -R /var/www/html/tool 但文件仍在 apache as group
和 apache-Apache as Owner
中上传
是的,我已经看到另一个 post 与此类似并使用 LOAD DATA LOCAL INFILE
请建议
您正在使用 var/www/html/tool/
作为路径而不是 /var/www/html/tool/
,因此该路径是相对于 /var/lib/mysql
中的 mysql 目录的。只需在前面添加另一个斜杠即可。
只需在查询中的 INFILE 之前添加 LOCAL
$sql = LOAD DATA LOCAL INFILE 'C://xampp/htdocs/xampp/www/tool/"
这段带有路径的代码在本地主机上对我来说工作正常
$sql = "LOAD DATA INFILE 'C://xampp/htdocs/xampp/www/tool/".@mysql_escape_string($this->file_name).
"' INTO TABLE `".$this->table_name.
"` FIELDS TERMINATED BY '".@mysql_escape_string($this->field_separate_char).
"' OPTIONALLY ENCLOSED BY '".@mysql_escape_string($this->field_enclose_char).
"' ESCAPED BY '".@mysql_escape_string($this->field_escape_char).
"' LINES TERMINATED BY '" .@mysql_escape_string("\r\n") . "' ".
($this->use_csv_header ? " IGNORE 1 LINES " : "")
."(`".implode("`,`", $this->arr_csv_columns)."`)";
//echo $sql;
mysqli_query(DB::cxn(),$sql) or die("Import Error: " . mysqli_error(DB::cxn()));
// Delete the file now it's been imported
unlink("C:/xampp/htdocs/xampp/www/tool/". $this->file_name);
现在,当我 运行 在 centos 服务器中时,我给出的路径类似于
$sql = "LOAD DATA INFILE 'var/www/html/tool/".@mysql_escape_string($this->file_name).
unlink("var/www/html/tool/". $this->file_name);
Cant get stat of 'var/lib/mysql/var/www/html/tool/file.csv (Errcode:2)
现在当我使用 LOAD DATA LOCAL INFILE
'var/www/html/tool
时,它正在给予
cant find file 'var/www/html/file.scv
我的网络根文件夹在 /var/www/html/tool
中,我通过 xxx.xxx.xx.xx/tool
每次在服务器位置 /var/www/html/tool
上传 csv 文件时 OWNER as apache-Apache
有 Read and Write
Group as apache having only Read Only permisssion
我试过 chmod 777 -R /var/www/html/tool 但文件仍在 apache as group
和 apache-Apache as Owner
是的,我已经看到另一个 post 与此类似并使用 LOAD DATA LOCAL INFILE
请建议
您正在使用 var/www/html/tool/
作为路径而不是 /var/www/html/tool/
,因此该路径是相对于 /var/lib/mysql
中的 mysql 目录的。只需在前面添加另一个斜杠即可。
只需在查询中的 INFILE 之前添加 LOCAL
$sql = LOAD DATA LOCAL INFILE 'C://xampp/htdocs/xampp/www/tool/"