如何在启动时发布 http 表单?也许通过运行 PHP 脚本?

如何在启动时发布 http 表单?也许通过运行 PHP 脚本?

我在服务器上使用 Ubuntu Server 14.04。我有一个 PHP 文件,其中包含一些我想在启动服务器时运行的脚本/代码。
我想XXXXXX.php在服务器启动时在登录前而不是登录后运行此文件。
我没有任何桌面,所以请通过终端告诉我这个过程。我想要运行的 PHP 文件在/var/www/XXXXXX.php文件夹中。

现在我可以做吗?

编辑:我的XXXXXX.php包含以下代码...

<?php 
$externalIp = file_get_contents('http://phihag.de/ip/');
?> 
<form action="Iframe.php" method="post" enctype="plain" id="theForm">   
<input type="text" name="My_IP" value="<?php echo $externalIp;?>" />
<input type="submit" value="Send" />
</form>
<script type="text/javascript">
window.onload = function() {
var form = document.getElementById("theForm");
form.submit();
}
</script>

答案1

您可能认为解决方案就在眼前,但我认为您需要退后一步。

您需要做的似乎是一种自动注册。这是一个聪明的想法,但是……您当前的方法需要浏览器支持 JavaScript。

我想我会以不同的方式做到这一点。归根结底,您需要做的就是发出浏览器发送的 POST 命令。

这比所有 PHP 和 JavaScript 都容易得多。

答案2

您还可以编辑/etc/rc.local- 它在启动过程中比 cron 任务运行得更晚。我不得不使用它在重新启动时启动一些 MySQL 内容,因为当 cron 任务启动时 mysql 尚未启动并运行。

编辑:

运行此命令:'sudo nano /etc/rc.local'

像这样添加您的命令...

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#!/bin/bash

/var/www/XXXXXX.php

exit 0

祝你好运! :)

答案3

如果脚本需要在启动时执行一次性任务,我会使用@rebootcron 任务。在这种情况下,您应该编辑 crontabsudo crontab -e并添加类似以下行的内容:

@reboot php /var/www/XXXXXX.php

提供有关使用 cron 的更多详细信息。

答案4

你可以用 来完成php5-cli。如果你还没有安装它:

sudo apt-get install php5-cli

然后您可以使用以下命令从命令行运行 php 命令:php5 ./script.php

在 php 脚本的第一行添加以下内容:

#!/usr/bin/php5

然后创建脚本的链接并使其在启动时运行:

cd /etc/init.d
sudo ln -s /path/to/your/scriptName.php scriptName
sudo update-rc.d scriptName defaults
sudo update-rc.d scriptName enable

相关内容