2015-07-23 2 views
2

Мне нужно открыть Windows Online, чтобы получить расширение PECL PHP V8Js, запущенное для того, чтобы позволить React.js выполнять серверную часть Javascript с PHP. Расширяются ли расширения PECL? Если да, как я могу это сделать? Последнее, что я видел, было feature request для этого с 02.2014. Но я не получил информацию, если в то же время что-то изменилось.Расширение PHP PECL V8Js на Openshift Online

25.07.2015: Я еще один шаг. Кори указал мне на многообещающее направление. Не знал, что PECL - это какой-то PEAR. Оба кажутся совместимыми с openshift. Я добавил «v8js» в файл .openshift/pear.txt, и когда git нажал приложение, консоль поговорила со мной. Я попытался установить v8js с 'pecl install channel: //pecl.php.net/v8js-0.2.0', но компилятор не смог найти V8, консоль сказала:
проверка на V8 Javascript Engine ... да, общий проверка файлов V8 по пути по умолчанию ... не найден configure: error: Пожалуйста, переустановите дистрибутив v8
Итак, как мне найти путь к V8 и как я узнаю, если он уже существует? Если нет, как мне его получить?

26.07.2015: Не удалось установить V8. Я попытался сделать это, как описано в Google docs. Компиляция занимает 600 МБ! и у меня заканчивается квота. Возможно, мне также понадобится обновить версию python, так как для depot_tools требуется более новая версия. Итак, сейчас это очень сложно. Я спрашиваю себя, если я на правильном пути. Я все же предпочел бы основной путь PHP с V8Js для серверного Javascript вместо node.js.

Что мне делать? другой общий хостинг (поиск сложно)? Облачный хостинг, как битнами и Amazon AWS? Есть ли еще надежда с openshift? Виртуальный, управляемый сервер? Я запутался.

+0

Есть ли причина, по которой вы должны выполнить JS с PHP и не можете сделать это с помощью Node? –

+0

Да, N.B. теперь я поеду маршрут node.js и построю некоторый сервис рендеринга и вызову эту службу с PHP. Кажется, это не экзотическая архитектура, хотя запросы к контроллерам PHP требуют дополнительных запросов к серверу узлов. Я стараюсь избегать создания node.js всей платформы, поскольку PHP более распространен. –

+0

Вам не нужно создавать всю платформу, но она более зрелая, когда дело доходит до выполнения JS-кода со стороны сервера. Например, мне едва удалось скомпилировать v8js для PHP, это азартная игра, чтобы заставить эту работу работать - теперь представьте себе потенциальные проблемы при выполнении JS-кода и ошибок. Узел - определенно то, на что вы можете положиться, чтобы выполнить JS-код. Затем вы можете поговорить с узлом через REST (HTTP) или попытаться выполнить материал из оболочки через 'shell_exec' или аналогичный и использовать PHP для отправки вывода обратно пользователю. –

ответ

0

Служба поддержки Openshift Online сразу ответила на мой вопрос: «К сожалению, в настоящее время у нас нет расширения VECJs PECL». Но из подсказок corey112358 и N.B. и собственный опыт, а также из интернет-исследований, я также узнал, что это хлопот, чтобы сделать это расширение или найти поддержку хостинга, если вы не инженер Google, который может установить v8, или если у вас нет времени или денег для запуска собственного сервера или если вы не являетесь экспертом в V8J. Таким образом, в этом случае вы можете найти node.js более удобным решением.

Смежные вопросы