Выполните команду установленного программного обеспечения на удаленном сервере Linux, используя страницу PHP - PullRequest
0 голосов
/ 08 ноября 2019

Я занимаюсь разработкой веб-страницы для 3D-печати. Чтобы выполнить расчеты материала и времени, я пытаюсь заставить в Интернете запустить программное обеспечение cura-engine (консольную программу) для этого файла.

Я создал виртуальную машину в Google Cloud Platform со стеком LAMP подdebian 10. Я установил пакет cura'engine с помощью apt и могу запустить его из терминала (через ssh):

eduardoj_vieirav@instance-1-vm:/var/www/html$ CuraEngine

Cura_SteamEngine version 3.3.0
Copyright (C) 2018 Ultimaker

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
...

Но при попытке выполнить эту команду с помощью php с помощью exec или shell_exec у меня нетвывод.

<?php
echo exec('CuraEngine');
?>

Я также пытался выполнить операции над файлом, и снова я могу сделать это из ssh с помощью команды:

eduardoj_vieirav@instance-1-vm:/var/www/html$ CuraEngine slice -v -j resources/definitions/creality_ender3.def.json -o gcode/output.gcode -l STL/cube.stl

Но опять-таки это не может бытьзапустить с php

<?php
echo exec('CuraEngine slice -v -j resources/definitions/creality_ender3.def.json -o gcode/output.gcode -l STL/cube.stl');
?>

Мне странно, что я не могу выполнить CuraEngine, поскольку другие команды, такие как uname -a0, возвращают вывод.

1 Ответ

0 голосов
/ 10 ноября 2019

Может быть, у вас проблемы с переменной окружения $PATH из PHP. Попробуйте указать абсолютный путь к CuraEngine (при необходимости используйте команду whereis CuraEngine).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...