我创建了一个 shell 脚本来刻录 CD,该脚本在 ubuntu 终端中成功运行,但如果我从 php 调用此脚本,它就不会运行,而且我在日志文件中发现了一个错误,
wodim: No such file or directory.
Cannot open SCSI driver!
For possible targets try 'wodim --devices' or 'wodim -scanbus'.
For possible transport specifiers try 'wodim dev=help'.
For IDE/ATAPI devices configuration, see the file README.ATAPI.setup from
the wodim documentation.
TOC Type: 3 = CD-ROM XA mode 2
如果我查看wodim --devices
终端
-------------------------------------------------------------------------
0 dev='/dev/sg1' rwrw-- : 'TSSTcorp' 'CDDVDW SH-S202J'
------------------------------------------------------------------------
-
如果我查看wodim -scanbus
终端
scsibus4:
4,0,0 400) 'TSSTcorp' 'CDDVDW SH-S202J ' 'SB01' Removable CD-ROM
4,1,0 401) *
4,2,0 402) *
4,3,0 403) *
4,4,0 404) *
4,5,0 405) *
4,6,0 406) *
4,7,0 407) *
请帮我找到一个解决方案。
答案1
出现错误时您究竟运行了什么 wodim 命令?
wodim --devices
列出的事实/dev/sg1
有点奇怪。我期望 2.6 之前的内核有一个 sg 地址。在较新的内核上,地址应该类似于/dev/sr0
。
shell 和 PHP 之间最可能的区别是 PHP 缺少权限(其他用户 ID?)。Linux 上的刻录程序需要对设备文件的读写权限。