0

我正在使用 PHP 中的 shell 命令将 doc 文件转换为 pdf。每个用户都可以随时将其文件转换为 PHP。是否有可能多个用户可以同时访问我的转换器来转换他们的文件?

我在专用服务器上使用 CENTOS。

4

1 回答 1

1

让我们定义您的 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。

于 2012-09-21T14:15:55.117 回答