【问题标题】:PHP Unable to execute created command, but exec() and system() work properlyPHP 无法执行创建的命令,但 exec() 和 system() 工作正常
【发布时间】:2018-08-11 07:49:31
【问题描述】:

我遇到的问题是 PHP 能够在 Windows 上正确执行 CMD 命令,但是当我创建要运行的自定义命令时,没有任何效果。

逻辑: 我想“cd”到一个目录中,然后运行 ​​python 脚本,该脚本将从网络上抓取数据并将其保存在 csv 中。 Python 脚本运行良好。

PHP 代码:

<?php

if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
    $keyword = $_POST['singleSearchTerm'];
    $filename = $_POST['singleFilename'];
    $settings = file('settings.txt', FILE_SKIP_EMPTY_LINES);
    $conda_path = $settings[0];
    $working_env = $settings[1];
    $script = "scrape.py";
    $url = "https://www.pinterest.com/search/pins/?q=";
    $current_dir = getcwd();

    // cd into path
    $cd_path = "cd " . $conda_path . "&& ";

    // activate env
    $activate_env = "activate " . $working_env . " && cd ";

    // run python script
    $pyCommand = $current_dir . "\\ps\\ " . " && python -W ignore ". $script . " --url " . $url . $keyword . " --fname " . $filename;

    // full command
    $full_command = $cd_path . $activate_env . $pyCommand;

    echo $full_command;

    // test - works fine
    exec("start notepad.exe");

    // doesn't do anything
    exec($full_command);

    // doesnt do anything
    system($full_command)
}

生成的命令: 上述PHP加载完成后,生成如下命令:

cd C:\Users\da74\Anaconda3\Scripts && activate scrape && cd C:\MAMP\htdocs\pinscraper\ps\ && python -W ignore scrape.py --url https://www.pinterest.com/search/pins/?q=old --fname dat.csv

问题: 当上面的命令粘贴在 CMD 中时,它就会运行。但是当它在 PHP 中使用 exec() 或 system() 传递时,它不会运行。

已测试: 已测试:

exec("start notepad.exe");

它会打开一个记事本窗口。我不知道有什么问题。是隐藏空间吗?还是别的什么?

感谢任何帮助。 谢谢你

【问题讨论】:

    标签: php


    【解决方案1】:

    我找到了使用 NodeJS 运行它的替代方法。

    任何人都在寻找同样的问题,发现 PHP 在 '&&' 前后留下了不寻常的空格,有时会无缘无故地换行。

    为此,我安装了 nodejs。然后让 PHP 将每个 var 逐行保存在设置文件中,并让 nodejs 形成一个命令以使用 'process' 和 exec 运行。它运行完美,只需要几行代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-20
      相关资源
      最近更新 更多