#php #node.js
#php #node.js
Вопрос:
Я установил узел.JS, и он работает нормально. Но мне интересно, как я могу запустить сервер с PHP (при условии, что у меня есть полный контроль, поскольку я включен localhost
).
Я создал пакетный скрипт, который я использую для запуска узла из командной строки:
:: nodejs.bat
@ECHO OFF
CD %NodeJS
:: The above is my NodeJS directory
CLS
TITLE Running Node Server %1.js
ECHO Starting Server...
nodemon --trace-warnings --quiet %1.js
Я запускаю его из командной строки как:
nodejs path/to/my/current/project
nodejs.bat
находится по адресу %userprofile%nodejs.bat
, так что вот как я пытаюсь запустить свою программу на PHP:
$cmd="%userprofile%\nodejs.bat ".$_POST["s"];
echo $cmd; // Just for debugging purposes
exec($cmd);
У меня это не сработало. Кто-нибудь знает способ запуска узла.JS-сервер с PHP?
Дополнительные сведения:
- Я не хочу запускать узел.JS-файл, я просто хочу запустить сервер
- Мне не нужно использовать
nodejs.bat
, его просто легче вводить по сравнению сnodemon --trace-warnings --quiet [my file path]
Если вам нужны дополнительные подробности, пожалуйста, спросите в комментариях, и я добавлю их.
Комментарии:
1. Зачем вам нужны node и PHP на одном сервере? Они в основном выполняют ту же работу
2. Они мне не нужны на одном сервере. Обычно я использовал PHP, но я изучаю Node. JS тоже. Я просто хочу запустить узел с PHP (если это возможно).
3. ОК. Итак, вы взяли вывод
echo $cmd
и проверили, работает ли он из обычной командной строки на том же компьютере?4. @ADyson: Извините, что ответил немного поздно. Да, когда я копирую вставленный вывод и помещаю его в cmd, он запускает сервер.
5. Как вы обслуживаете PHP? Возможно, с IIS это Apache? Вероятно, он работает под другой учетной записью пользователя, отличной от той, которую вы используете для входа в систему. Поэтому папка userprofile будет другой.