在将图像文件从Google计算引擎实例上传到Google云存储方面,我需要您的帮助。 我已经能够使用通常的move_uploaded_file函数从具有php的前端表单中移动图像,但是当我尝试使用gsutil命令将该文件复制到php脚本中的google cloud storage时,真正的问题浮出水面。 快速调试后,我发现了这些结果
**Tue Jan 01 04:45:12.491702 2019] [core:notice] [pid 8539] AH00094: Command line: '/usr/sbin/apache2'
sh: 1: /var/www/includes/multimediaStorage.sh/var/www/html/uploads/markii.jpg: not found
sh: 1: /var/www/includes/unloadUploads.sh/var/www/html/uploads/markii.jpg: not found
baraka_ben@igroup1us-xszd:/var/log/apache2$ cd /var/www/html/uploads/
baraka_ben@igroup1us-xszd:/var/www/html/uploads$ ls
markii.jpg
baraka_ben@igroup1us-xszd:/var/www/html/uploads$ ls -lh
total 4.0K
-rw-r--r-- 1 www-data www-data 3.0K Jan 1 04:50 markii.jpg
baraka_ben@igroup1us-xszd:/var/www/html/uploads$**
但是同样,如果我在shell控制台ssh环境中尝试相同的命令,则它可以平稳运行,而不会出现如下所示的任何问题
baraka_ben@igroup1us-xszd:/var/www/html/uploads$ gsutil cp markii.jpg gs://bucket/Folder/SubFolder
Copying file://markii.jpg [Content-Type=image/jpeg]...
/ [1 files][ 2.9 KiB/ 2.9 KiB]
Operation completed over 1 objects/2.9 KiB.
baraka_ben@igroup1us-xszd:/var/www/html/uploads$
注意,此处显示的存储桶名称不是实际的名称,multimediaStorage.sh脚本包含与以上代码相似的命令语法。 现在,我被困于试图通过使“ www-data”用户成为文件夹/ var / www / html / uploads的所有者来弄清文件夹和文件的所有权及权限,但是似乎没有任何帮助。 。 请您帮我克服这个障碍。 这是我与此问题相关的php脚本部分
if (!empty($_FILES['picha']) && $_FILES['picha']['error'] == UPLOAD_ERR_OK) {
$tmpName = $_FILES['picha']['tmp_name'];
$name = basename($_FILES['picha']['name']);
$desnation="/var/www/html/uploads/$name";
$message=move_uploaded_file($tmpName,$desnation);
$repository=$desnation;
$destiny="gs://BucketName/Folder/Subfolder/";
$execution="/var/www/includes/multimediaStorage.sh";
$destination ='gs:BucketName/Folder/Subfolder/'."$name";
$combination="$repository $destiny";
exec($execution.''.$combination);
$clearence="/var/www/includes/unloadUploads.sh";
array_push($Patharray,$destination);
// unlink("/var/www/html/uploads/$filename");
exec($clearence.''.$repository);
}
2019年新年快乐,谢谢!