我想在ubuntu服务器上使用php的exec()函数.问题是,我总是得到一个错误,找不到命令.例如使用
exec("echo 123");
Run Code Online (Sandbox Code Playgroud)
版画
sh:/ echo:未找到
对我来说,当我想使用bash时,看起来php正在使用sh shell.我尝试在/ etc/passwd中更改www-data的shell,这也没有帮助.
有没有人知道问题可能来自哪里,或者我如何为php的ubuntu用户更改shell.
谢谢,蒂莫
[编辑]
也许这有助于:
我从ssh调用bash脚本作为timo,这个脚本调用一个php脚本,它使用exec.我知道,这听起来很奇怪,但它是更大的开发环境的一部分......
关键是,我不确定,exec中的脚本执行的用户.
[编辑]
到现在为止,我发现必须涉及另一个权利问题.即使我尝试从exec中调用bash脚本test.sh(通过它的完整路径!),php test.php也会说.
sh:/test.sh:找不到
在我的一个PHP项目中,imagecreatefrompng抱怨说图像"不是有效的PNG文件".
Warning: imagecreatefrompng() [function.imagecreatefrompng]:
'/.../...png' is not a valid PNG file in /.../...php on line ...
Run Code Online (Sandbox Code Playgroud)
我很确定,该文件是有效的,因为我可以在任何程序中打开它.所以我想知道还有什么可能导致这个警告.
有人知道imagecreatefrompng背后的细节还是之前有过类似的问题?
谢谢你的帮助,
蒂莫
我正在编写一个shellcript,需要遍历ftp服务器上的所有文件夹和文件(递归).到目前为止,使用cURL一切正常 - 但它很慢,因为cURL为每个命令启动一个新会话.因此,对于500个目录,cURL预先进行500次登录.
有没有人知道,我是否可以使用cURL(这将是我最喜欢的解决方案)保持登录状态,或者我如何在shell脚本中只使用一个会话使用ftp?
我知道如何执行一组ftp命令并检索响应,但对于递归列表,它必须更加动态......
谢谢你的帮助!