我正在使用PHP中的shell命令将doc文件转换为pdf。每个用户都可以随时将其文件转换为PHP。多个用户是否可以同时访问我的转换器来转换文件?
我在专用服务器上使用CENTOS。
答案 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。