-1

我有两个服务器的服务器 A 和服务器 B 我有一个注册页面,其中包含用户名、*电子邮件*、密码图像

我正在使用一个简单的 php 脚本来上传从ios 设备发送的图像。

我能够将新用户注册到服务器 A。图片上传在以下情况下效果很好

Case 1: Uploading via HTML (Success)
Case 2: Uploading Via app (Success)

但是当尝试将图像上传到服务器 B(LINUX 服务器)时,图像上传失败。

Case 1: Uploading via HTML (Success)
Case : Uploading via app (FAILED)

我已确保文件权限为777。但我仍然无法将图像上传到服务器。它返回 500 内部错误。

实际上,上传到服务器 B 以前可以正常工作。但是突然之间它停止了工作。

任何人都可以建议我应该检查哪些条件以确保图像能够上传?

4

2 回答 2

2

尝试使用 CURL

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, array('file' => '@/path/file.txt'));
    curl_setopt($ch, CURLOPT_URL, 'http://server2/upload.php');
    curl_exec($ch);
    curl_close($ch);
于 2013-02-04T17:12:38.503 回答
1

单独设置文件的权限并不能解决问题。请确保您已将目录设置为可被任何运行 php 的用户写入upload_tmp_dirphp.ini检查sys_get_temp_dir()它返回的内容,确保返回的路径是可写的。如果你可以ssh到你的linux服务器,你可以通过以下命令检查临时目录的权限

$ls -ld temp_dir_path_here

当然可能还有其他问题导致失败。您可以通过检查服务器错误日志来获取更多信息,或者通过在脚本顶部复制以下代码段来设置错误

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

完成后删除上面的代码段。

于 2013-02-04T17:19:12.810 回答