Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
执行PHP操作后网站关闭_Php_Linux_Ubuntu_Web - Fatal编程技术网

执行PHP操作后网站关闭

执行PHP操作后网站关闭,php,linux,ubuntu,web,Php,Linux,Ubuntu,Web,假设我有一个网站托管在远程服务器上。我导航到此网站上的一个页面,并尝试执行一个特定的操作(如果需要,我可以更深入地了解该操作的细节,但暂时让我说,该操作涉及使用从数据库获取的数据在服务器上运行程序。) 页面只是不断加载。因此,我尝试导航到主网站。现在,它不断地加载而没有解决。大约一天之后,网站又回来了,所以可能有一些自动化的过程在一段时间后终止任务。我的问题是: 我是否能够终止此任务或执行任何操作以允许我在不等待一整天的情况下导航到网站?如有必要,我可以更详细地讲 谢谢 应要求,提供一些更深入的

假设我有一个网站托管在远程服务器上。我导航到此网站上的一个页面,并尝试执行一个特定的操作(如果需要,我可以更深入地了解该操作的细节,但暂时让我说,该操作涉及使用从数据库获取的数据在服务器上运行程序。)

页面只是不断加载。因此,我尝试导航到主网站。现在,它不断地加载而没有解决。大约一天之后,网站又回来了,所以可能有一些自动化的过程在一段时间后终止任务。我的问题是:

我是否能够终止此任务或执行任何操作以允许我在不等待一整天的情况下导航到网站?如有必要,我可以更详细地讲

谢谢

应要求,提供一些更深入的信息

PHP脚本从数据库中检索基于文本的信息。基于此信息,PHP脚本调用一个可执行程序。可执行文件的输出被输出到屏幕

我检查了mysql processlist,发现一个花了很长时间的进程。我杀死了它,所以可能是因为可执行文件一直在运行。如果是的话,我将如何确定这一点,如果不是的话,是否还有其他潜在的可能性?谢谢

已解决
好的,基本上是Mike Purcell的建议,显示mysql进程的进程列表,并杀死任何我看到的花了很长时间的进程。一旦完成,就只需要重新启动mysql和httpd。再次感谢所有发表评论的人。

听起来,神秘的操作可能导致执行未优化的查询,这可能会导致其他查询挂起,直到错误的查询完成执行。如果您可以通过终端访问mysql服务器,则可以发出以下命令终止长时间运行的查询:

mysql> show processlist;
此命令将输出任何当前正在运行的查询。请注意
time
列,它将以秒为单位显示查询执行的时间。理论上,您不应该让任何查询在几秒钟后运行,但某些查询可能需要10分钟以上,具体取决于查询和所涉及的数据集。要注意的另一列是
id
列,使用此值可以手动终止查询(就像终止linux机器上的进程一样)


现在,当您再次运行
show processlist
命令时,该查询应该会从进程列表中消失。

听起来像是神秘的操作可能导致执行未优化的查询,这可能会导致其他查询挂起,直到错误的查询完成执行。如果您可以通过终端访问mysql服务器,则可以发出以下命令终止长时间运行的查询:

mysql> show processlist;
此命令将输出任何当前正在运行的查询。请注意
time
列,它将以秒为单位显示查询执行的时间。理论上,您不应该让任何查询在几秒钟后运行,但某些查询可能需要10分钟以上,具体取决于查询和所涉及的数据集。要注意的另一列是
id
列,使用此值可以手动终止查询(就像终止linux机器上的进程一样)


现在,当您再次运行
show processlist
命令时,该查询应该会从进程列表中消失。

看起来您已经创建了自己的网站

也许这个网页不应该是一个网页,而是一个手动或通过cron执行的任务?否则,任何人都可以找到这个页面,并在他们想要的时候杀死你的网站

如果这个程序需要这么多资源,你应该以某种方式限制它:尝试优化它,尝试限制允许它使用的资源(我不知道怎么做,我只知道这是可能的:s)


如果问题已经存在,您可以尝试终止该进程(
ps aux | grep看起来您已经创建了自己的网站

也许这个网页不应该是一个网页,但一个任务执行手动或通过cron?否则,任何人都可以找到这个网页,并杀死你的网站,当他们想

如果这个程序需要这么多资源,你应该以某种方式限制它:尝试优化它,尝试限制允许它使用的资源(我不知道怎么做,我只知道这是可能的:s)


如果问题已经存在,您可以尝试终止进程(
ps aux | grep如果站点由于密集的MySQL进程而被锁定,或者MySQL进程变得不正常,那么您最好将该进程隔离到它自己的数据库线程,这样普通表就不会被锁定


另一个选项是切换一些数据库(假设)MyISAM到InnoDB引擎,如果可以的话。批量插入会比较慢,性能签名也会有所不同,但是,您不会受到如此严重的锁定。

如果站点由于密集的MySQL进程或MySQL进程变得不正常而被锁定,您最好将该进程隔离到自己的数据库线程中,以便正常的桌子不会被锁定


如果可以的话,另一种选择是将一些数据库从(假设)MyISAM切换到InnoDB引擎。批量插入会更慢,性能签名也会有所不同,但是,您不会受到如此严重的锁定。

站点的其余部分是由数据库驱动的,并且使用相同的数据库(用户凭据等)可能性接近无限。你能提供更多的细节,比如行动的概要:你在浏览器中的输入,这会调用一个php脚本,然后脚本是一个可执行文件,等等……因为你没有提供足够的信息,就像达贡说的,可能性接近无限。@Vincent Russo:是的,更多的细节是必要的。嘿,伙计们,谢谢你们的帮助回复。我在请求中添加了更多的信息,这可能会使跟踪变得更有效