多次访问shell脚本

时间:2012-09-21 13:34:20

标签: shell

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

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

1 个答案:

答案 0 :(得分: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。