首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

php页面在后台运行另一个脚本进程不起作用

问题描述:php页面在后台运行另一个脚本进程不起作用。

回答: 在PHP中,可以使用多种方式来在后台运行另一个脚本进程。以下是一些可能导致该问题的原因和解决方法:

  1. 服务器配置问题:首先,确保你的服务器环境允许在后台运行脚本进程。有些共享主机环境可能限制了这种操作,你可以联系你的主机提供商了解更多信息。
  2. 执行权限问题:确保你的脚本文件具有执行权限。你可以使用chmod命令来设置文件权限,例如:chmod +x script.php。
  3. 脚本路径问题:确保你在PHP代码中正确指定了要运行的脚本的路径。可以使用绝对路径或相对路径来指定脚本位置。
  4. 脚本执行方式问题:根据你的需求,选择适当的方式来执行脚本。以下是一些常见的方式:
  5. a. 使用exec函数:exec函数可以在后台执行一个命令,并返回输出结果。例如:
  6. a. 使用exec函数:exec函数可以在后台执行一个命令,并返回输出结果。例如:
  7. b. 使用shell_exec函数:shell_exec函数可以执行一个命令,并返回输出结果。例如:
  8. b. 使用shell_exec函数:shell_exec函数可以执行一个命令,并返回输出结果。例如:
  9. c. 使用system函数:system函数可以执行一个命令,并返回最后一行输出结果。例如:
  10. c. 使用system函数:system函数可以执行一个命令,并返回最后一行输出结果。例如:
  11. d. 使用背景进程:你还可以使用一些其他的方式来在后台运行脚本,例如使用nohup命令或者将脚本放在后台进程中运行。
  12. 日志记录问题:如果你的脚本在后台运行时产生了错误或输出,你可能无法直接看到。你可以在脚本中添加日志记录功能,将输出写入到日志文件中,以便后续查看。

总结: 在PHP中,在后台运行另一个脚本进程需要确保服务器环境允许、脚本具有执行权限、正确指定脚本路径,并选择适当的方式来执行脚本。如果仍然遇到问题,可以查看日志记录以获取更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WordPress 的文章或页面运行PHP 代码

Tutsplus 上有一篇文章以插件的方式告知我们实现在WordPress 的文章或页面运行PHP 代码的方法,下面介绍下。...原理小介绍 懂php 的都知道,PHP中载入其他PHP文件可以用include() 或者 require() 函数,因此为了实现在WordPress 的文章或页面运行PHP 代码,我们可以将打算运行的代码写入一个额外的...比如说我打算在文章中运行下面这段php代码,那么我就将这段代码放到一个php 文件中,命名为ordsbackward.php 吧!...那么此时,WordPress 编辑器中写文章时候用下面的短代码插入短代码: [phpcode file="wordsbackward"] 即可运行相应的wordsbackward.php文件,如图:...PS:Tutsplus 上的原文不知为何已经被删除,Jeff 是RSS 阅读器上保留下的,但还是感谢原作者。经过亲自测试代码可行。

4.6K100
  • php set_time_limit()用法测试详解「建议收藏」

    一个php脚本通过crontab每5分钟执行一次,考虑到脚本执行时间会超过5分钟,特意用set_time_limit(290)来控制脚本290秒退出。...某天突然发现后台有多个该脚本进程执行,也就是说set_time_limit(290)没有起作用。为了证明,特意使用如下代码测试。...当你的页面有大量数据时,建议使用set_time_limit()来控制运行时间,默认是30s,所以需要你将执行时间加长点,如 set_time_limit(300) ,其中将秒数设为0 ,表示持续运行...]: Cannot set time limit in safe mode in 再次注意的是: php.ini可以通过定义max_execution_time来设置PHP页面的最大执行时间,比如下面...php中设置set_time_limit不起作用的解决方法: set_time_limit用来设置脚本的超时时间,用法如下: set_time_limit(秒数); 规定从该句运行时起程序必须在指定秒数内运行结束

    95110

    php提前响应请求继续执行代码(伪异步)

    很多业务需求中,我们都可能需要先让php给浏览器输出,然后在后台慢慢处理其他不用输出耗时的业务. 那么,php该怎么实现这个功能呢?...例如: //当用户A用浏览器请求下单逻辑 //由于后台逻辑非常多,需要处理20秒 //用户A等了10秒等不下去,关闭了网页 //默认情况下,用户关闭了网页,php进程则会直接终止,相当于执行了一半逻辑之后...函数实现php代码还在后台运行,如以下例子: <?...echo "完成请求,3秒自动关闭页面(一段js自动关闭页面)"; //这里还在巴拉巴拉处理事情\ $i=0; while($i<100){     //注意,死循环非常危险,会造成该web进程一直处理...自动关闭页面)"; fastcgi_finish_request();//真正的结束响应,后面的echo将不起作用 //这里还在巴拉巴拉处理事情 $i=0; while($i<100){     //

    3.7K11

    前端开发 移动端浏览器页面倒计时浏览器后台运行时的bug及解决办法

    移动端浏览器在后台运行或手机黑屏的情况下页面js是不会执行的,页面有倒计时的情况下问题就出现了,中间离开这段时间的时间差要怎么计算呢?...其实这个问题也是很简单,非要监听一个浏览器离开事件,记录当前时间,然后浏览器在打开的时候记录当前时间,这样这个时间差就算出来了,好像没什么问题。...1.记录页面初次进入的时间 t1; 2.定时器里面每隔一秒记录当前时间t2; 3.t2 -t1 就是这个时间差。...提醒一点 一般倒计时里面都是有一个变量time;这个time--就会出现倒计时的效果,在这里 time-- 其实就是t2 - t1;点击查看 源站最佳实践介绍 image.png

    1K30

    如何让WordPress的所有请求只需要通过Nginx处理,不经过PHP和Mysql,从而加快站点访问速度?

    wp请求响应过程 wordpress响应请求大致分为如下几个过程: Nginx接收请求 -> php-fpm进程运行指定php脚本 -> phpmysql内查询相应数据 -> 处理返回给Nginx ...进程运行指定php脚本 -> phpmysql内查询相应数据 -> 缓存本次请求产生的页面数据到文件A  -> 处理返回给Nginx  -> Nginx响应用户请求 缓存之后的请求过程如下: 缓存之后的所有请求...  -> Nginx接收请求  -> php-fpm进程运行指定php脚本 -> 判断是否存在缓存文件  -> 输出缓存文件的内容给Nginx ->  Nginx响应本次请求 相较于没有缓存的情况,大大的减少了...2.内存持久化缓存 初次请求 -> Nginx接收请求 -> php-fpm进程运行指定php脚本 -> phpmysql内查询相应数据 -> 缓存本次请求产生的页面数据到Redis  -> 处理返回给...  -> Nginx接收请求  -> php-fpm进程运行指定php脚本 -> 判断Redis是否存在缓存  -> 输出缓存文件的内容给Nginx ->  Nginx响应本次请求 缺点就是数据量大的时候

    70730

    说一下蛋疼的wordpress和apache崩溃问题

    很久之前我就发现我的博客wordpress搬到这一台服务器之后有时候wordpress后台有些页面会导致后台进程崩溃,具体是apache的进程会崩,日志显示 [notice] child pid 30702...exit signal Segmentation fault (11) 而且是必现的,具体是wordpress后台的更新页面还有插件页面。...我apache前面套了nginx,nginx表现就是502。然后想起来技巧就是直接把wp-contents目录里面的plugins子目录重命名,这样可以禁用所有插件。果然禁用了之后,一切正常。...其实apache本身还算是稳定的,能把apache搞挂了的一般就是php模块内的事情。...一种脚本语言把它的运行时以及运行时容器进程搞挂…… 我觉得我离全站纯静态不远了……

    27130

    PHP脚本设置及获取进程

    PHP脚本设置及获取进程名 今天来学习的是两个非常简单的函数,一个可以用来设置我们执行脚本运行进程名。而另一个就是简单的获取当前运行进程名。...这两个函数对于大量的脚本运行代码有很大的作用,比如我们需要 kill 掉某个进程时,可以直接使用我们自己定义的进程名来进行操作。..."\n"; // Process title: test 同样的,获取当前进程名的函数也非常地简单,直接调用即可。它就会正常输出当前执行脚本进程名称。 如果我们没有自定义进程名称呢?...Windows 环境没有进行测试,正常情况下也很少会有人在 Windows 环境下挂后台执行脚本,所以有兴趣的同学可以自己测试下。 二是进程名可以是中文!!!是不是感觉很高大上。...三是这两个函数仅针对 CLI 运行环境。也就是说, CGI 正常网页运行的状态下这两个函数是没有效果的。

    1.4K30

    Nginx vs Apache

    另一个例子是使用mod_php模块来执行php代码,而不用去使用cgi。 但是,Apache高负载的情况下表现的差强人意,原因是它需要去运行新的进程,因此要消耗更多的内存。...这意味着如果你使用像mod_php这样的非线程安全的模块来服务php页面时,你需要使用pre-forked模式,因此要消耗更多的内存。...这就意味着Nginx静态内容的服务上要相对快些,不过,Apache可以使用模块来运行后台应用服务器,而且还可以运行脚本语言。...Ngnix使用php-fpm(FastCGI进程管理器)来处理php脚本,这就使得Nginx具有生成非静态内容的功能。 什么时候更适合用Apache?...对mod_rails和mod_rack模块来说也是一样,这些模块使得Apache可以运行Ruby on Rails。这些进程Apache的进程运行的更快一些。

    51710

    Docker 学习应用篇三:使用docker搭建的环境,安装thinksns

    安装thinksns,至少要apache或者nignx,然后数据库mysql,还有一个php运行环境。自己又不会写DockerFile ,就在DockerHub上面拉了一个镜像, ?...搭建环境,和以后使用环境的过程中,我们难免需要改一些配置,那么Docker中如何修改容器中的配置呢 有两种方法: 1.在运行docker的容器的时候就把配置文件挂载下来,指令是:举例 -v /usr...而Docker守护进程(Docker Daemon)。Docker守护进程取代了Hypervisor, 是运行在操作系统之上的后台进程,负责管理Docker容器。...打开源码之后发现$_SESSION[]保存的信息页面跳转之后会丢失,根据源码找到session文件保存的路径,发现里面有文件,但是居然是空的,按照网上的方法,修改php.ini 中session.use_trans_sid...=1, 还是不起作用

    1.2K80

    centos6.5升级安装配置supervisor的教程

    它可以很方便的监听、启动、停止、重启一个或多个进程。...用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。...因为我要用它来管理多个PHP进程去执行任务,默认版本下的配置多个子进程不起作用 默认版本的supervisor版本比较低2.1.9,对于运行多个子进程貌似有问题,最新版的supervisor4.1的又因为需要高版本的...install supervisor==3.1.3 生成配置文件 easy_install supervisor==3.1.3 配置文件 /etc/supervisord.conf [program:php_imap_daishou...] command=/usr/bin/php /usr/local/sinamail/tools/new/othermail/cli.php entresign process_name=%(program_name

    53020

    PHP7中php.ini、php-fpm和www.conf 配置

    = Off 避免暴露php调用mysql的错误信息 log_errors = On 关闭display_errors后开启PHP错误日志(路径php-fpm.conf中配置) zend_extension...daemonize = yes 后台执行fpm,默认值为yes,如果为了调试可以改为no。FPM中,可以使用不同的设置来运行多个进程池。 这些设置可以针对每个进程池单独设置。...该选项可能会对php.ini设置中的'max_execution_time'因为某些特殊原因没有中止运行脚本有用. 设置为 '0' 表示 'Off'.当经常出现502错误时可以尝试更改此选项。...设置一个PHP脚本最大执行时间是必要的,但是,治标不治本。...为什么要重启进程呢? 一般项目中,我们多多少少都会用到一些 PHP 的第三方库,这些第三方库经常存在内存泄漏问题,如果不定期重启 PHP-CGI 进程,势必造成内存使用量不断增长。

    1.6K30

    电脑弹出当前页面脚本发生错误_360当前页面脚本发生错误

    笔者 Windows 版本:Windows 8 Enterprise 64 位 (DirectX 11) Windows 有一天忽然开始报 “脚本错误 当前页面脚本发生错误” 警告窗口...按照搜索来的解决办法,禁用 IE 的脚本调试选项: 不起作用,还是会持续报以上警报。即便是重启电脑以后依然会如此。 这个弹出框很突兀,笔者不用 IE 已好多年了嘛。...一开始怀疑是打开的某个桌面进程的警报错误。后来有次打开电脑后任何进程还没打开就报这个错误,排除了这个怀疑。 于是又怀疑是某个后台进程。...打开任务管理器,众多进程中感觉这货最像是罪魁祸首: 将其干掉,果然当前的弹出框消失,而且不再弹出,世界终于安静了。果然是你搞的鬼 —— IE Mcrosoft 基础类应用程序。

    1.2K30

    编写快速安全Bash脚本的建议

    你必须放在这些方括号中,而在方括号之间必须有空格,否则它不起作用。[[ 和 [ 方括号(双/单) 都工作。...后台进程 我不会在此谈及太多关于 job 控制的内容,但是:你可以像下面这样启动后台进程 long_running_command & 如果你后来后悔将进程放到后台,并希望把它带调回前台,你可以用 fg...如果不止一个进程,您可以使用 jobs 查看所有后台进程。由于某种原因,fg 需要一个 “job ID”(这就是 jobs 打印输出的)而不是一个 PID。 谁知道 Bash 为什么这样子呢。...另外,如果你在后台运行太多的进程,内置等待命令将等到它们都返回。...说到后悔 - 如果你不小心错误的终端启动一个进程,Nelson Elhage 有一个很棒的项目叫做reptyr,可以保存你的进程并将其移到屏幕会话或者某些其他东西中。

    1.8K80

    Linux - 请允许我静静地后台运行

    setsid setsid 是另一个进程后台执行的命令,它的作用是让进程打开一个新的会话并运行进程,使用方式为 setsid command。...setsid的坑 另外,setsid 有个略坑的地方: 终端中直接使用 setsid command 运行进程时,终端前台并不会被影响,command 会在后台默默运行。...而在 shell 脚本中,我们会发现运行 setsid 的进程会一直阻塞住,直到 command 进程执行结束。...我们直接开启了某个进程,又想在不中断进程的情况下让它让出前台终端; 这些都要牵涉到今天的第二个模块--作业; 我们终端里运行的命令都可以理解为一个作业,有的占用前台终端,有的在后台默默执行,下面的命令就是为了调度这些作业...一直更新,欢迎 关注 。 参考: setsid为什么会在脚本中阻塞-StackoOerflow Linux 进程进程组、会话周期、控制终端

    1.7K50

    咱们worker有力量-浏览器中实现多线程和离线应用

    今天真正要说的是 -- JavaScript 中的 worker 们: HTML5 规范中提出了工作线程(Web Worker)的概念,允许开发人员编写能够脱离主线程、长时间运行而不被用户所中断的后台程序...脚本,每个脚本执行流都称为一个线程,彼此间上下文互相独立,并且由浏览器中的 JavaScript 引擎负责管理 HTML5 规范列出了 Web Worker 的三大主要特征: 能够长时间运行(响应)...也就是说,专用 worker 一旦被某个页面引用,该页面就拥有了一个独立的子线程上下文;与之不同的是,某个共享 worker 脚本文件如果被若干页面(要求是同源的)引用,则这些页面会共享该 worker...worker 则是为解决 “因为依赖并容易丢失网络连接,从而造成 Web App 的用户体验不如 Native App” 的问题而提供的一系列技术集合;它比 web worker 独立得更彻底,可以页面没有打开的时候就运行...测试时,是可以用 http://localhost 进行的 后台同步 ? 后台同步(Background Sync)是基于 service worker 构建的另一个功能。

    2.4K80

    hackerkid实战学习

    并且给出了我们一个域名将域名添加到本地hosts文件下进行访问(一台服务器上运行多个web服务有三种方法:1、不同web服务使用不同的IP。...burp进行抓包看看 这里我们看到注册信息是通过xml进行传输的,可以尝试利用xxe漏洞 这里尝试读取文件,成功 文档中发现saket用户存在bash环境,尝试读取一些文件,(由于服务端是php环境,...网站除了开放了80端口以外,还开放了9999端口提供web服务,查看9999端口的web服务,发现在运行一套后台程序,需要用户名和密码进行登陆,这里使用得到的用户名和密码进行登陆,经过尝试,发现saket...登录进入后台之后,会有一段提示 这里猜测,需要使用name的一个参数 但是经过测试这里name的参数会显示固定位置,不会发生变化,这里可以尝试利用ssti模板注入 这里对于ssti直接进行利用,具体分析文章另作总结...,利用脚本注入到进程里面实现提权,首先查看系统正在运行的root进程 ps -U root 这里可以发现有apache进行运行,这个相对来说比较稳定,可以进行注入 下载进程注入脚本,python进程注入脚本

    14410

    http请求超时 ,用PHP如何解决的?

    一,http请求超时时间可能出现的场景:1,curl进程运行了一个api查询接口,curl的时候设置了超时时间 --connect-timeout 10002,operation timed out after...php.ini:它预设的限制时间是30秒,max_execution_time的值定义结构档案中,如果将秒数设为0,表示无时间上的限制,修改后重新启动apache/nginx服务器php代码:set_time_limit...(800);这个函数指定了当前所在php脚本的最大执行时间为800秒,实际上最大执行时间=php.ini里的max_execution_time数值 - 当前脚本已经执行的时间 + 设定值假如php.ini...三,php长连接如果我们需要一个脚本持续的运行,那么我们就要通过php长连接的方式,来达到运行目的。...如果要停止运行只能重启php-fpm:查看php-fpm进程数:ps aux | grep -c php-fpm查看运行内存/usr/bin/php -i|grep mem重启php-fpm/etc/init.d

    77220

    一条502报警引发的胡思乱想

    默认值: 0. daemonize = yes #后台执行fpm,默认值为yes,如果为了调试可以改为no。FPM中,可以使用不同的设置来运行多个进程池。 这些设置可以针对每个进程池单独设置。...每个进程池都需要设置。如果nginx和php不同的机器上,分布式处理,就设置ip这里就可以了。...该选项可能会对php.ini设置中的'max_execution_time'因为某些特殊原因没有中止运行脚本有用. 设置为 '0' 表示 'Off'.当经常出现502错误时可以尝试更改此选项。...该选项可能会对php.ini设置中的'max_execution_time'因为某些特殊原因没有中止运行脚本有用. 设置为 '0' 表示 'Off'.当经常出现502错误时可以尝试更改此选项。...这两项都是用来配置一个PHP脚本的最大执行时间的。当超过这个时间时,PHP-FPM不只会终止脚本的执行, 还会终止执行脚本的Worker进程

    61850
    领券