php脚本没有在linux启动时执行

时间:2013-05-28 11:25:55

标签: php linux bash google-chrome

每当我启动计算机(Linux)时,我都会想要一些通知。所以,我创建了一个php脚本,它有一些逻辑,每当我登录我的机器时,我都希望在浏览器中看到脚本的输出。

我在/etc/rc.local中添加了我的php文件。但是我的浏览器在启动后没有打开。可能是它在启动后无法找到google-chrome的实例。

还有其他任何建议,以便我可以在登录后立即弹出窗口吗?

我的php脚本(tasks.php):

$popUp = "Test task";
$popUp = "<html>$popUp</html>";
$fp = fopen("<path_to_file>/tasks.htm","w");
fwrite($fp,$popUp);
fclose($fp);
exec("google-chrome <path_to_file>/tasks.htm");

的/etc/rc.local:

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

php <path_to_file>/tasks.php

4 个答案:

答案 0 :(得分:0)

rc.d脚本无法与您的X环境进行交互。您可以执行PHP脚本,但无法启动chrome。

您可以将所有内容移动到X会话启动时自动启动的命令(Gnome,KDE等等),并且它可以正常工作。

或者,您可以运行通过rc.d在后台执行任何作业的php脚本,并通过X会话启动chrome。

答案 1 :(得分:0)

系统初始化期间无法启动

谷歌浏览器 - 首先窗口系统尚未就绪,而且您的帐户(创建X会话)尚未登录。

然而,您可以根据PHP脚本(脚本中的CLI)的执行来编写页面,例如/ tmp

$fp = fopen("/tmp/myaccount.tasks.htm","w");

然后,当您登录时, google chrome 可以自动启动,并将该文件作为参数创建。 E.g。

/usr/bin/google-chrome /tmp/myaccount.tasks.htm

This link解释了如何在登录时启动程序。 (如果您未在接受的答案底部使用Ubuntu,请参阅~/.config/autostart路径)

答案 2 :(得分:0)

将其放入gnome-session-properties,它将在登录时运行。 (显然只有你使用gnome)

答案 3 :(得分:0)

我写了我的php脚本(tasks.php),它创建了一个html页面。

$popUp = "Test task";
$popUp = "<html>$popUp</html>";
$fp = fopen("<path_to_file>/tasks.htm","w");
fwrite($fp,$popUp);
fclose($fp);

并将其添加到/etc/rc.local

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

php <path_to_file>/tasks.php

为了在登录后以chrome方式打开我的html页面,我修改了.config / autostart / google-chrome.desktop文件

[Desktop Entry]
Type=Application
Terminal=false
# Exec=/opt/google/chrome/google-chrome --no-startup-window
Exec=/opt/google/chrome/google-chrome <path_to_file>/tasks.htm
Name=Google Chrome