【问题标题】:PHP file upload not working on CentOS6 but working on Apache2 on OSX 10.8PHP 文件上传不能在 CentOS6 上工作,但在 OSX 10.8 上的 Apache2 上工作
【发布时间】:2013-04-30 17:49:42
【问题描述】:

我有两个简单的脚本可以从本地机器上的特定路径上传文件并将其放置在 Apache 服务器上。它在 OSX 10.8 内置的 Apache 上运行良好,但在 CentOS 6 上却不行。 代码如下:

http://mysite.mydomain.com/logsend.php?logfilename=logfile.log

然后转到“logsend.php”:

<?php
$logfilename = $_GET['logfilename'];
$target_url = 'http://mysite.mydomain.com/logaccept.php';
$localdir = '/usr/local/mysoftware/logs/';
$logurl = $localdir . $logfilename;
$post = array('extra_info' => '123456','file_contents'=>'@'.$logurl);
    $ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$target_url);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$result=curl_exec ($ch);
curl_close ($ch);
?>

然后转到 logaccept.php:

<?php
$uploaddir = realpath('uploads/') . '/';
$uploadfile = $uploaddir . basename($_FILES['file_contents']['name']);
if (move_uploaded_file($_FILES['file_contents']['tmp_name'], $uploadfile)) {
    echo "Log file successfully uploaded.\n";
} else {
    echo "Possible file upload attack!\n";
}
?>

mac在浏览器窗口中按预期返回“日志文件成功上传”,但在CentOS盒子上我只是得到虚无的PHP白屏。 Apache error_log 中没有任何错误显示,我不知道如何进一步解决这个问题。

有什么想法吗?我试图将一些调试代码加载到 PHP 文件中,但我仍然只能得到空白:

ini_set('display_errors', 'On');
error_reporting(E_ALL);

【问题讨论】:

  • 这很可能是一个环境问题。检查权限和路径。如果它们看起来没问题,请再次检查,如果没有问题仍然...再次检查
  • 谢谢。这很奇怪,因为我可以在第一个脚本中添加可以很好地回显所有环境的行,但是好像它并没有以某种方式进入 logaccept.php .. 即使我放了一个 echo "hello world";在 logaccept.php 的顶部,它没有显示出来。如果我直接登录 accept.php,它就会显示出来。
  • 我认为是 curl 位失败了,尽管这超出了我的 PHP 知识范围。我注意到 PHP 是用 --without-curl 编译的,尽管在 .ini 文件中进一步说 curl 已启用。这个 --without-curl 在 OSX 编译命令中不存在。
  • 你应该得到一个未定义的函数错误,如果 curl 不存在..

标签: php apache centos


【解决方案1】:

我最近在 centOs 机器上遇到了类似的问题。原来是centOs默认开启的selinux。确保您具有写入权限,并禁用 selinux。 (或将其配置为授予您的 apache 用户访问权限)

http://wiki.centos.org/HowTos/SELinux

【讨论】:

  • 已禁用,但感谢您的建议。我以前也因此遇到过问题!
  • 几周前我花了两天时间来追踪它。我希望事情就这么简单。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-15
  • 2016-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-15
相关资源
最近更新 更多