【问题标题】:CPanel does not allow using script to create file?CPanel 不允许使用脚本创建文件?
【发布时间】:2012-08-08 17:42:30
【问题描述】:

我的 php 文件中有以下函数,我的脚本正在 CPanel 上。我确信脚本已经执行,因为最后的打印输出已经出现,但是我的 csv 文件没有。我已将文件夹 Log_report 的权限更改为 755,但仍然无法创建文件,我该如何更改?我确信创建 csv 的 mysql 脚本是正确的,因为我在我的 XAMPP 本地机器中使用了相同的脚本,并且之前在我的机器中成功创建了一个文件。

function export($DB){
    $dbConnection = mysql_connect($DB['server'], $DB['loginName'], $DB['password']);
    if(!$dbConnection){
        die('Error! ' . mysql_error());
        }
    mysql_select_db($DB['database'], $dbConnection);
    $timezone = "Asia/Hong_Kong";
    if(function_exists('date_default_timezone_set')) 
        date_default_timezone_set($timezone);
    $Time = date('Y_m_d_H_i');
    $fileName = "/home/me/public_html/Log_Report/Report_".$Time.".csv";
    $result = mysql_query("SELECT TechName, ClientName, SiteName, LogTime, Type 
                            INTO OUTFILE '".$fileName."' 
                            FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED by '\"' 
                            LINES TERMINATED BY '\n' 
                            FROM tech AS T, client AS C, site AS S, log AS L 
                            WHERE T.TechID=L.TechID AND C.ClientID=L.ClientID AND S.SiteID=L.SiteID 
                            ORDER BY L.LogTime DESC");
    print "abcde";
}

【问题讨论】:

  • 我的作品 cpanel 服务器遇到了类似的问题。我想你会发现你可以让 php 在那个文件夹中创建文件就好了,它对 mysql 的写权限可能有问题。很确定它受到限制,因为 sql 注入 + mysql 上的写入权限 = 在您的站点根目录上方创建恶意服务器端脚本....与您的主机交谈
  • 那么如果我想创建文件,我必须更改mysql的权限?请问这个配置可以自己修改吗?
  • 你需要找出mysql服务的运行方式。如果它的根(我不认为它应该是)那么文件写访问不应该是一个问题,否则它可能确实需要许可。如果您具有 root 访问权限,您可能可以自己更改它,但您最好先与您的主机交谈,因为它可能有充分的理由受到限制...

标签: php mysql cpanel


【解决方案1】:

这个帖子应该有助于解释mysql权限问题:

http://lists.mysql.com/mysql/206422

另外,我应该问一下您运行查询的 mysql 用户帐户,例如 root 或其他可能受限的用户?

【讨论】:

  • 另一个用户而不是 root
  • 尝试导出到 /tmp/ 看看是否可以将它从那里移到别处。另请参阅此处stackoverflow.com/questions/2783313/…
  • 其实我已经通过更改创建文件的方法解决了这个问题,但是非常感谢您的帮助,这样的参考可以帮助我了解更多,以便我下次解决。
  • 没问题。您应该为遇到此问题的其他读者发布您的解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-15
  • 2020-09-16
  • 1970-01-01
  • 1970-01-01
  • 2013-01-27
相关资源
最近更新 更多