我正在使用 PHP 中的 shell 命令将 doc 文件转换为 pdf。每个用户都可以随时将其文件转换为 PHP。是否有可能多个用户可以同时访问我的转换器来转换他们的文件?
我在专用服务器上使用 CENTOS。
我正在使用 PHP 中的 shell 命令将 doc 文件转换为 pdf。每个用户都可以随时将其文件转换为 PHP。是否有可能多个用户可以同时访问我的转换器来转换他们的文件?
我在专用服务器上使用 CENTOS。
让我们定义您的 php 转换实用程序的可能层。
terminal # user enters commands here, sees output
shell # the terminal automatically starts a shell process
# so users can type commands and get work done
/path/to/your/conversion/tool.php doc1.doc doc1.pdf
# here is the user, accessing your script.
# one solution to conversions is to allow for 1 input and 1 ouput file
# I have done that to keep things simple, your solution may be different
phpcode shell("externalconverter", "doc1.doc","doc1.pdf", "/path/to/tmpWrkSpace"?)
# again, a guess, your php is asking to execute a external command
# and we're passing the arguments
"externalconverter" "doc1.doc" "doc1.pdf" tmp="/path/to/tmpWrkSpace"
# again, a guess
因此,这取决于您或 exteranlconverter 是否创建任何具有静态(或非唯一)名称的临时文件。即 2 个用户同时使用不同的文件名启动程序,是否创建了任何具有完全相同名称的临时文件?可能不会,但确实会发生这种事情,值得提前检查。
为了确认你是安全的,设置一个带有 2 个终端窗口的测试,提前输入两个命令,使用专门为此测试创建的 .doc 文件,没关系,同时执行两个命令(尽可能快尽可能)。您将需要一个足够大(或在任何情况下)的文件以花费很长时间来处理您确定两个文件正在同时处理。
一般来说,假设是 Linux/Unix 操作系统,大多数程序都允许同时运行多个副本。但测试是你最好的防御。
如果这不能回答您的问题,请考虑使用上述大纲来编辑您的问题,以向我们展示您的转换工具中元素的层次结构。
IHTH。