繁体   English   中英

通过PHP的Unix`at`命令

[英]Unix `at` command via PHP

这是我的代码,用于at工作中创建新at ...
system('echo \\'php -f /path/to/my/php/file.php\\' | at 1700');

我以为这很简单并且可以正常工作,但是可惜没有任何反应!

当我运行echo \\'php -f /path/to/my/php/file.php\\' | at 1700 echo \\'php -f /path/to/my/php/file.php\\' | at 1700通过ssh,一切正常。

这是权限问题吗? 即不允许PHP at工作中创建新at

仅供参考,您必须确保允许您从PHP脚本执行系统命令。

许多服务器已禁用此功能。

但是,如果您想重新启用此功能(我相信您可以在php.ini文件中启用),则必须关闭safe_mode。

当允许用户提供的数据传递给此函数时,请使用escapeshellarg()或escapeshellcmd()来确保用户不会诱使系统执行任意命令。

如果使用此功能启动程序,则要使其在后台继续运行,必须将程序的输出重定向到文件或其他输出流。 否则,PHP会挂起,直到程序执行结束。

注意:启用安全模式后,您只能在safe_mode_exec_dir中执行文件。 出于实际原因,当前不允许在可执行文件的路径中包含..组件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM