Можно ли запустить приложение PHP с помощью tomcat?
Прежде чем вы скажете мне просто использовать httpd, у меня уже есть приложение Java, работающее на моем веб-сервере на host/myapp
. Теперь я хочу установить RoundCube на host / roundcube.
Один из них – PHP, а один – Java. Я постоянно вижу ссылки, говорящие, что это возможно, но никаких реальных указаний. Я не хочу размещать их на отдельных портах, мне нужны стандартные порты HTTP и HTTPS.
У кого-нибудь есть ресурсы для этого?
Да, возможно, будет . мы можем запустить 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
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
like
Перезапустить tomcat
просматривать localhost:8080/php/test.php
Обычным является запуск Tomcat за Apache. В Apache вы можете направить определенные URL-адреса Tomcat, а Apache / PHP обрабатывать другие (включая статические изображения).
(В Unix сам Tomcat не может безопасно запускаться на порт 80, в то время как Apache может. Tomcat, будучи процессом Java, должен запускаться от имени root, в то время как Apache переключается на привилегии без полномочий root, как только порт 80 будет так что запуск Apache на порту 80 и перенаправление некоторых или всех запросов на Tomcat довольно распространен в Unix.)
Caucho Quercus может запускать PHP-код на jvm.
Немного поздно, но здесь идет.
Как насчет http://wiki.apache.org/tomcat/UsingPhp, если вы просто хотите запустить реальный php на tomcat.
Что касается работы tomcat на порту 80, всегда есть jsvc, просто google jsvc + tomcat.
Там этот мост PHP / Java . Это в основном работает PHP через FastCGI. Я не использовал его сам.
tomcat разработан как контейнер сервлетов JSP. Apache разработан веб-сервером PHP. Используйте apache как веб-сервер, отвечая на запрос PHP и отправляйте запрос сервлета JSP в контейнер tomcat. должна быть лучше реализована.
Если кто-то еще смотрит – у Quercus есть война, которая позволяет запускать PHP-скрипты в apache tomcat или glassfish. Для пошагового руководства посмотрите на эту статью