如何使用 exec() 启动和停止 PHP 开发服务器

2024-04-17

如何使用 exec() 函数启动和停止 PHP 开发服务器?我需要这样做才能自动化我的 BDD 测试。

这将停止我的脚本的执行:

echo exec('php -S localhost:8000');

所以我需要一种方法从 PHP 启动服务器并能够继续执行我的测试。然后我还需要一种方法来阻止 PHP。


这有效:

private function _startDevelopmentServer($pidfile)
{
    $cmd = 'cd ../../public && php -S 127.0.0.1:8027 index.php';
    $outputfile = '/dev/null';
    shell_exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd, $outputfile, $pidfile));
    sleep(1);
}

private function _killDevelopmentServer($pidfile)
{
    if (file_exists($pidfile)) {
        $pids = file($pidfile);
        foreach ($pids as $pid) {
            shell_exec('kill -9 ' . $pid);
        }
        unlink($pidfile);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 exec() 启动和停止 PHP 开发服务器 的相关文章

  • 如何在嵌套数组中查找叶数组?

    我在 PHP 中有一个嵌套数组 array 0 gt 5x 1 gt array 0 gt 1 gt 2 gt 3 3 gt array 0 gt 1 gt 2 gt array I want to find this one 0 gt 1
  • 如何从控制器 Symfony2 内部访问不同的控制器

    我需要从另一个控制器内的不同控制器访问方法 我该怎么做 我可以用吗this gt get method 我可以将控制器包含在当前控制器中并创建它的对象并通过该对象访问该方法吗 这样做 可以 吗 我想调用另一个控制器的表单方法 newActi
  • 我应该如何处理 Android 应用程序中 http post 的服务器超时和错误代码响应?

    我的 Android 应用程序会向 URL 发送 http 帖子 例如http example com 电子邮件受保护 http example com abc php email abc xyz com因此 Android 应用程序基本上
  • 条件与 eval {php} [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 然后我得到
  • Laravel 查询生成器 - 高级条件子句(可选参数)

    我需要带有接受可选参数的查询生成器的子句 例如 请考虑以下情况 我们有三个搜索字段 产品标题 公司名称和位置 邮政编码 城市或州 2 3 8 种可能性 该位置与 OR 连接 WHERE location postal code LIKE O
  • LinkedIn OAuth 缺少必需参数“client_id”

    我正在使用 LinkedIn API 并尝试发出请求 但是当我尝试获取 accesstoken 时 我在 json 打印中收到以下错误 Array error gt missing parameter error description g
  • CSV 损坏,如何修复?

    我正在尝试解析 CSV 我想将它放入数据库或只是用 JavaScript 解析它 但由于语法损坏 任何一种方法都会失败 我的整个 CSV 文件在这里 https gist github com 1023560 https gist gith
  • https 安全 cookie 是否可以防止 XSS 攻击?

    https 连接是否可以保护 cookie 并防止 XSS 攻击 我有一个简单的博客 允许用户输入 JavaScript 代码作为输入 我希望允许用户输入 Javascript 同时仍然防止 XSS 攻击和 cookie 窃取 https
  • jquery 切换在移动设备上不起作用

    所以我正在尝试做到这一点 因此当您单击此网站的移动响应版本上的菜单时http dev trafficdigitalagency com stage http dev trafficdigitalagency com stage 它切换显示内
  • 使用 php 运行 ipconfig 命令

    我使用这段代码来了解访问者 客户 的一些信息 它一直在我的 Xampp 虚拟服务器上运行 但我无法在我的主服务器 主机 上运行 我只看到一个空白页 info system ipconfig all echo info 这可能对你有帮助 服务
  • Wordpress 主题管理面板显示本地服务器中的致命错误

    我有一个 WordPress 项目 这里我们使用主题jupiter 当我在本地 XAMPP 服务器上设置它时 它的主题选项不起作用 这个问题出在我的电脑上 但在另一台电脑上却正常 My XAMPP是最新版本 它显示的错误 Fatal err
  • 作曲家和 Yii

    我使用 Composer 作为我的依赖管理器 因为我需要使用 Yii Framework 进行开发 所以我将其添加到我的composer json 文件中 所以它看起来像这样 other properties require other d
  • 是否可以在一台机器上使用 GitHub 和 GitLab?

    我的账户位于GitHub and GitLab 我生成了 RSA 密钥并将其添加到我的帐户中GitLab 但现在我需要与GitHub在第二个项目上 我知道GitLab和GitHub都使用git 请告诉我是否可以在一台机器上使用 GitHub
  • 正则表达式匹配7-12位数字;可能包含空格或连字符

    我已经尝试解决 PHP 正则表达式问题有一段时间了 但我就是无法完全完成 我需要编写一个匹配 7 到 12 位数字 0 9 的正则表达式 并且可以选择在相邻数字之间有一个连字符或一个空格 这就是我到目前为止所拥有的 match1 preg
  • OpenCV 在使用 anaconda 的 Linux 上无法与 python 正常工作。收到 cv2.imshow() 未实现的错误

    这就是我得到的确切错误 我的操作系统是 Ubuntu 16 10 OpenCV 错误 未指定错误 该功能未实现 使用 Windows GTK 2 x 或 Carbon 支持重新构建库 如果您使用的是 Ubuntu 或 Debian 请安装
  • PHP is_file 和服务器根相对路径

    请问如何使用 is file 和 folder file jpg 这样的路径 谢谢你 如果路径以 开头 则表示该路径是绝对路径 当路径是相对路径时 即不以 开头 则采用相对于 php 脚本的路径 如果您希望 folder file jpg
  • Twitter APi“代码”:215,“消息”:“错误的身份验证数据

    接收错误 code 215 message 错误的身份验证数据 in my page var dump page 我读到 Friends exist 不再适用于 1 1 版本 因此我需要使用 Friends lookup 来比较一个 Twi
  • 插入值数组

    我有一个具有可变数量值的数组 除了内部带有查询的循环之外 是否有更有效或更好的方法将它们插入到我的数据库中 At 这个网站 http www desilva biz mysql insert html 有一个很好的 MySQL 多插入查询示
  • 使用php获取多个复选框名称/id

    如何使用 PHP 获取提交时多个选定复选框的名称或 ID 以下是示例表格 谢谢
  • 让网站登录也能在 WordPress 上使用

    我使用 PHP 和 MySQL 开发了一个网站 该网站已经有登录和注册表单 myweb com 我已经在这个网址添加了 wordpressmyweb com blog 我想禁用 WordPress 上的登录和注册页面并强制用户使用我的 基本

随机推荐

  • 使用 GCC 和 autotools 为各个源文件设置编译标志的最佳方法是什么?

    我需要使用自动工具禁用单个文件的优化标志 最好的方法是什么 您是指单个源文件还是单个可执行文件 禁用可执行文件的优化很简单 bin PROGRAMS myprog myprog SOURCES foo c bar c myprog CFLA
  • Riverpod 不必要的重建

    问题是 当我单击其中一个 CharBarButtons 小部件时 所有其他 CharBarButtons 也会被重建 是否有一种方法可以避免这种情况 并在使用 StateNotifier 保存列表时单独进行重建 整数是按钮的位置 CharB
  • Play Framework 2 Scala WS 执行同步请求

    我正在学习Scala 我曾经使用 Play Framework 2 Java 并尝试使用和学习 Scala 重写我之前的一些工作 我需要执行同步 WS 请求并从代码中的某处获取结果对象 当我回到 Java 时 我曾经这样做过 WS url
  • Rails:尝试渲染为 JSON 时 attr_accessor 不显示

    在我的应用程序中 我有一个如下的模型 class Init lt ActiveRecord Base attr accessor clientAvailability attr accessible returnCode returnMes
  • 根据javascript中的条件在数组中插入具有相同键值的多个对象

    例如 我有一个具有多个值的对象 let obj a day1 b c day3 aa 10 bb 11 cc 12 let data let item for let i in obj if i a data title obj a dat
  • Oracle PL/SQL:从字符串中删除“空格字符”

    在我的 Oracle 10g 数据库中 我想从表字段的值中删除 空格字符 空格 制表符 回车符 Is TRANSLATE 该怎么走 例如 MY VALUE TRANSLATE MY VALUE CHR 9 CHR 10 CHR 11 CHR
  • 如何查找 pthread 是否有挂起的取消请求

    我想知道是否对于一个线程 pthread cancel是否已被调用 我不想使用一些表并维护它 有没有可用的库函数 我不想使用一些取消点函数来取消线程 如果有任何挂起的取消请求 这些取消点函数就会取消线程 我只想知道是否有任何挂起的取消请求
  • 使用 zlib 解压缩 PNG

    如何使用 zlib 库解压缩 PNG 文件 我需要在 gcc 编译器下使用 C 读取 PNG 文件 为什么不使用libpng http www libpng org pub png libpng html PNG 文件格式相当简单 但有许多
  • 以编程方式设置 logback.xml 路径

    我知道我可以像这样设置 logback xml 路径 将默认配置文件的位置指定为系统属性 您可以使用名为 logback configurationFile 的系统属性指定默认配置文件的位置 该属性的值可以是 URL 类路径上的资源或应用程
  • 7.02之前的ABAP中如何编码JSON

    正如霍斯特 凯勒在他的著作中提到的ABAP 和 JSON http scn sap com people horst keller blog 2013 01 07 abap and json帖子 ABAP 原生支持 7 02 和 7 03
  • 估计 64 位 Java 中最大安全 JVM 堆大小

    在分析存在一些问题的 64 位 Java 应用程序的过程中 我注意到分析器本身 YourKit 正在使用真正大量的内存 我在 YourKit 启动脚本中得到的是 JAVA HEAP LIMIT Xmx3072m XX PermSize 25
  • 使用 Symfony 的 ACL 时,使用 JOIN 查询还是 IN 数组查询更好?

    这个问题建立在以下讨论的基础上 如何使用 Symfony ACL 过滤我的 Doctrine 查询 https stackoverflow com questions 14858642 how to filter my doctrine q
  • ExpandableListAdapter 在什么条件下调用 getChildView()

    在我的应用程序中 getChildView 在我里面可扩展列表适配器当适配器返回正确的子计数时 当getChildrenCount 叫做 我的问题是 为了让 ExpandableListAdapter 膨胀其子项 需要满足哪些条件 当组和子
  • 将背景图像放置在距右侧 1em 处?

    据我所知 不可能将 CSS 背景图像放置在距任何块的右边框 1em 处 也不可能放置图像距底部 1em 处 以下代码将背景图像放置在距左侧 1em 和距顶部 2em 的位置 div class foo style background ur
  • Visual Studio 2013 上下文菜单仅在 Web 应用程序项目中缓慢

    我最近为了一个新项目从 VS 2010 升级到 VS 2013 我发现当右键单击 Web 应用程序项目中的文件夹 而不是单个文件 时 加载上下文菜单大约需要 2 秒 解决方案中的其他十多个非 Web 项目不存在此性能问题 此外 在那个缓慢的
  • ElementHost 内 WPF 控件的呈现问题

    我有一个 WinForms 控件 里面有一个TableLayoutPanel其中持有多个ElementHosts和每个ElementHost包含一个 WPF 控件 一切正常 除非控件的大小大于窗口和ScrollBar有没有 当我向下滚动时
  • 在 RoR 视图中获取 {{attribute}} {{message}}

    登录 1 个错误禁止保存此 model 以下字段存在问题 属性 消息 这是查看代码 h1 Login h1 br br br br br br
  • jQuery 使用什么正则表达式进行电子邮件验证?

    Jquery 可以验证电子邮件地址 http docs jquery com Plugins Validation http docs jquery com Plugins Validation jQuery 使用什么正则表达式 如果有 进
  • 直接通过 SSH 进入 docker 容器

    我有一些 docker 容器 现在我想通过 ssh 访问其中一个 这是工作我通过 ssh 连接到 docker 容器 但现在我遇到的问题是我不知道哪个用户可以访问这个容器 我已经对主机上的两个用户 网络和根 进行了尝试 但它们不起作用 知道
  • 如何使用 exec() 启动和停止 PHP 开发服务器

    如何使用 exec 函数启动和停止 PHP 开发服务器 我需要这样做才能自动化我的 BDD 测试 这将停止我的脚本的执行 echo exec php S localhost 8000 所以我需要一种方法从 PHP 启动服务器并能够继续执行我