我有两个服务器的服务器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的工作时间较早。但突然间它停止了工作。
任何人都可以建议我应该检查哪些条件以确保图片上传?
答案 0 :(得分: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);
答案 1 :(得分:1)
单独设置文件权限无法解决问题。请确保已将upload_tmp_dir
中php.ini
的目录设置为可由任何用户运行的php写入。
检查sys_get_temp_dir()
返回的内容,确保返回的路径是可写的。
如果您可以ssh
到您的Linux服务器,请按照命令
$ls -ld temp_dir_path_here
当然可能还有其他问题导致失败。您可以通过检查服务器错误日志或通过在脚本顶部复制以下代码段来设置错误来获取更多信息
error_reporting(E_ALL);
ini_set('display_errors', 'on');
完成后删除上面的代码段。