【问题标题】:CasperJS PHP - Caper Script Run Command FailingCasperJS PHP - Caper 脚本运行命令失败
【发布时间】:2019-04-19 12:27:35
【问题描述】:

我已经安装了适用于 PHP 的 CasperJS 包装器以及所有必需的组件。包在这里:

PHP CasperJS

我正在尝试运行 github 自述文件页面上提供的基本脚本示例,但出现以下错误:

Notice: tempnam(): file created in the system's temporary directory in C:\wamp64\www\casper2\vendor\phpcasperjs\phpcasperjs\src\Casper.php on line 595

在对脚本进行故障排除后,问题出在这行代码上:

$casper ->run();

附加信息:

  1. 使用 php 7
  2. 在我的本地主机上运行 WAMP 服务器

【问题讨论】:

  • 您好! “Notice: tempnam()”消息下方是否还有其他内容?
  • 是的,调用堆栈中有 3 项:1) {main}( ) - 第 0 行; 2) Browser\Casper->run() - 第 71 行; 3) tempnam ( ) - 第 595 行,casper.php
  • 我不太确定问题出在哪里...但我认为有一些不错的方法可以尝试: 1 - 将此添加到 php 文件的开头。 putenv("PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs"); putenv("DYLD_LIBRARY_PATH"); 2 - 看看这里:php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-exec-dir
  • 问题已解决。将发布解决方案作为答案...
  • 不错!谢谢你:)

标签: php casperjs


【解决方案1】:

在声明 Casper 对象时,需要显式声明 CasperJS 可执行文件的位置。

有问题的代码行是这样的:

$casper = new Casper();

正确的代码是这样的:

$casper = new Casper(__DIR__ . "/location-of-casperjs”, __DIR__ . "/location-of-tempfolder”);

附注,第二个参数似乎被忽略了,默认情况下,位置似乎回到 c:\tmp - 仍在尝试找出如何覆盖它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-28
    • 2011-10-03
    • 1970-01-01
    • 2019-05-24
    • 1970-01-01
    • 2012-02-16
    • 2012-05-03
    相关资源
    最近更新 更多