Подтвердить что ты не робот

Запустить приложение php с помощью tomcat?

Можно ли запустить приложение PHP с помощью tomcat?

Прежде чем вы скажете мне просто использовать httpd, у меня уже есть приложение Java, работающее на моем веб-сервере в host/myapp. Теперь я хочу установить RoundCube на host/roundcube.

Один из них - PHP, а один - Java. Я постоянно вижу ссылки, говорящие, что это возможно, но никаких реальных указаний. Я не хочу размещать их на отдельных портах, мне нужны стандартные HTTP и HTTPS-порты.

Есть ли у кого-нибудь ресурсы для этого?

4b9b3361

Ответ 1

Да, возможно Будет ли Den. мы можем запустить PHP-код на сервере tomcat, используя его собственный номер порта localhost: 8080

здесь я пишу какой-то шаг, который так полезен для вас.

Как установить или запустить PHP на Tomcat 6 в Windows

  • скачать и распаковать PHP 5 в каталог, c:\php-5.2.6-Win32 - php-5.2.9-2-Win32.zip Загрузить

  • скачать PECL 5.2.5 Win32 - PECL 5.2.5 Win32 Загрузить

    >
  • переименуйте php.ini-dist в php.ini в c:\php-5.2.6-Win32

  • Раскомментируйте или добавьте строку (удалите полуточку в начале) в php.ini: ;extension=php_java.dll

  • скопировать php5servlet.dll из PECL 5.2.5 в c:\php-5.2.6-Win32

  • скопировать php_java.dll из PECL 5.2.5 в c:\php-5.2.6-Win32\ext

  • скопировать php_java.jar из PECL 5.2.5 в tomcat\lib

  • создать каталог с именем "php" (или что-нибудь подобное) в каталоге tomcat\webapps

  • скопировать phpsrvlt.jar из PECL 5.2.5 в tomcat\webapps\php\WEB-INF\lib

  • Unjar или unzip phpsrvlt.jar для unzip использования winrar или winzip для использования unjar: jar xfv phpsrvlt.jar

  • измените как net\php\reflect.properties, так и net\php\servlet.properties на library=php5servlet

  • Восстановить файл jar - > jar cvf php5srvlt.jar net/php/. PS: если файл jar не запускается, вам нужно добавить Путь к системным переменным для меня. Я добавил C:\Program Files\Java\jdk1.6.0\bin; to System variables/Path

  • создайте web.xml в tomcat\webapps\php\WEB-INF с этим контентом:

    <web-app version="2.4" 
      xmlns="http://java.sun.com/xml/ns/j2ee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
      xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
      http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd ">
      <servlet>
        <servlet-name>php</servlet-name>
        <servlet-class>net.php.servlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>php-formatter</servlet-name>
        <servlet-class>net.php.formatter</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>php</servlet-name>
        <url-pattern>*.php</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>php-formatter</servlet-name>
        <url-pattern>*.phps</url-pattern>
      </servlet-mapping>
    </web-app>
    
  • Добавить путь PHP (c:\php-5.2.6-Win32) к вашей системе или пути пользователя в среде Windows (Подсказка: щелкните правой кнопкой мыши и выберите "Свойства" из Мой компьютер

  • создать test.php для тестирования в tomcat\webapps\php как

  • Перезапустить tomcat

  • просмотреть localhost:8080/php/test.php

Ответ 2

Это довольно распространено для запуска Tomcat за Apache. В Apache вы можете направить определенные URL-адреса Tomcat, а Apache/PHP обрабатывать другие (включая статические изображения).

(В Unix сам Tomcat не может безопасно запускаться на порт 80, в то время как Apache может. Tomcat, будучи процессом Java, должен запускаться от имени root, в то время как Apache переключается на привилегии без полномочий root, как только порт 80. Заявка на Apache на порт 80 и перенаправление некоторых или всех запросов на Tomcat довольно распространена в Unix.)

Ответ 3

Caucho Quercus может запускать PHP-код на jvm.

Ответ 4

Поздно, но здесь идет.

Как насчет http://wiki.apache.org/tomcat/UsingPhp, если вы просто хотите запустить реальный php на tomcat.

Что касается работы tomcat на порту 80, всегда есть jsvc, просто google jsvc + tomcat.

Ответ 5

Вот этот PHP/Java мост. Это в основном работает PHP через FastCGI. Я не использовал его сам.

Ответ 6

tomcat разработан как контейнер сервлетов JSP. Apache разработан веб-сервером PHP. Используйте apache как веб-сервер, отвечая на запрос PHP и отправляйте запрос сервлета JSP в контейнер tomcat. должны быть лучше реализованы.

Ответ 7

Если кто-то еще смотрит - Quercus имеет войну, которая позволяет запускать PHP-скрипты в apache tomcat или glassfish. Для пошагового руководства посмотрите эту статью