我正在使用Windows XP.我可以通过调用自动执行ssh会话的TCL脚本,通过浏览器成功运行system()命令.我还从脚本中返回一个值.但问题是脚本会在浏览器中转储整个ssh会话.
我的php脚本看起来像:
$ lastline = system('"C:\ tcl\bin\tclsh.exe"\ path to file\filename.tcl'.$ username.''.$ pass,$ val);
filename.tcl:
spawn plink -ssh $ user @ $ host
expect"assword:"
send"$ pass\r \n"
expect"\ prompt:/ - >"
set $ return_value [string compare /..string../ $ expect_out(buffer)]
/...一些代码......这样运行正常/
退出$ return_value
一切运行正常,我得到正确的$ return_value,但php文件打印在我的浏览器中执行整个ssh会话的结果,如下所示:
使用用户名"admin".admin@10.135.25.150的密码:===/*some text*/===\prompt:/ - > .../some text/
我想阻止system()函数在我的浏览器中打印这个
我已经使用了shell_exec()函数,但是它返回了整个ssh会话结果(我已经在tcl脚本中解析并获得了一个精确的值来返回到php脚本)有没有办法,我可以不使用shell_exec()而是使用system()代替
提前致谢
我有这个代码来压缩文件,但我需要用密码保护这个文件
$file = 'backup.sql';
$zipname = $file.'.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
ZipArchive::setPassword('123456');
//$zip->setPassword("123456");
$zip->addFile($file);
$zip->close();
Run Code Online (Sandbox Code Playgroud)
当我使用$ zip-> setPassword我没有得到任何错误,但文件根本没有受到保护,当我使用ZipArchive :: setPassword我得到此错误"致命错误:非静态方法ZipArchive :: setPassword()不能被称为静态"
那么如何在php中压缩文件并用密码保护它?