Php shell_exec "File " /tmp/phpG4jVlp " does not exist."



我有一个php文件,上传和处理excel需要11分钟。

我想在后台用shell_exec做这件事,但我得到一个这样的错误。

文件"/tmp/phpG4jVlp"不存在

我使用的命令如下:

/www/server/php/74/bin/php -f /background_processes/inventory_excel_upload.php 'eyJmaWxlIjp7Im5hbWUiOiJJbnZlbnRvcnkgMTkuMDcuMjAyMiAxMF8yM181OC54bHN4IiwidHlwZSI6ImFwcGxpY2F0aW9uXC92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCIsInRtcF9uYW1lIjoiXC90bXBcL3BocEc0alZscCIsImVycm9yIjowLCJzaXplIjo0MjI4MDJ9fQ=='

参数输出:

{
"file":{
"name":"Inventory 19.07.2022 10_23_58.xlsx",
"type":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"tmp_name":"/tmp/phpG4jVlp ",
"error":0,"size":422802
}
}

我已经给出了文件路径作为参数。还有别的办法吗?

如果你有自己的Ubuntu服务器,你可能会遇到php脚本的最大文件大小上传限制,默认设置为2Mb。为了改变这一点,我们首先来看看它的实际大小。在/var/www(标准www目录)中创建一个名为info.php的文件,内容如下:

<?php
// Show all information, defaults to INFO_ALL
phpinfo();
?>

然后通过localhost/info.php浏览到这个文件(如果必要的话用服务器名替换localhost)并查找这一行upload_max_filesize 2 m

将显示实际的最大文件大小。为了改变这一点,打开ssh连接到您的服务器,并编辑文件/etc/php5/apache2/php.ini

nano/etc/php5/apache2/php.ini

用Ctrl-W搜索"upload_max_filesize",将"2M"改为"20M"。用Ctrl-O保存文件,然后用Ctrl-X退出。使用

重新启动apache服务器sudo/etc/init.d/输入启动

问题就在这里。

到命令

的末尾

/dev/null 2>&1 &

如果我添加它,我的代码工作正常,但进程不能在后台运行。

如果我不添加它,我会得到一个错误。

相关内容

  • 没有找到相关文章

最新更新