首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP执行DalekJS不起作用

使用PHP执行DalekJS不起作用
EN

Stack Overflow用户
提问于 2014-08-18 20:10:00
回答 1查看 136关注 0票数 0

我使用测试框架DalekJS来测试用户界面。要执行我的测试脚本mytest.js,我在shell中键入:

代码语言:javascript
复制
cd /Applications/XAMPP/xamppfiles/htdocs/tests
dalek mytest.js

它工作得很好。现在我想用PHP执行相同的脚本。我的代码:

代码语言:javascript
复制
<?php
chdir('/Applications/XAMPP/xamppfiles/htdocs/tests');
$command = 'dalek mytest.js';
exec($command, $return, $return_var);
var_dump($return);
var_dump($return_var);

在浏览器中运行我的PHP脚本,它会打印:

代码语言:javascript
复制
array(0) { } int(127) 

DalekJS脚本在shell中执行时会生成一个屏幕截图,但在PHP中运行时不会发生任何事情。我还尝试了shell_exec()、system()和passthru(),但都没有成功。你知道为什么PHP脚本不能工作吗?

EN

回答 1

Stack Overflow用户

发布于 2014-08-19 22:52:49

从PHP调用dalek对我来说很好。您的PHP进程是否有可能在与您的用户不同的环境(包括PATH等)中运行?可能是apache用户或类似的用户?

代码语言:javascript
复制
<?php

// change current working directory of the current PHP process,
// this will subsequently change the initial CWD of exec()
$whereMyTestsAre = __DIR__;
chdir($whereMyTestsAre); 

// locate dalek
$dalek = exec('which dalek');

// abort if there is no dalek,
// you may want to check PATH or supply the full path yourself
if (!$dalek) {
  echo "could not find dalek executable, please check your path";
  $PATH = exec('echo $PATH');
  echo '$PATH is ', $PATH, "\n";
  exit(1);
}

// relative to $whereMyTestsAre
// exec() blocks until the child process (dalek) exits
exec('dalek mytest.js');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25362985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档