Archive

Posts Tagged ‘pecl’

PHP5 и Tomcat6 под Windows

November 23rd, 2008 No comments

Необходими ресурси:

Ще използвам C:\DEVELOP за директория, в която ще се намират всичките необходими компоненти. Там разархивираме Tomcat-а (C:\DEVELOP\apache-tomcat-6.0.18), както и PHP-архива (C:\DEVELOP\php-5.2.6-Win32). В системните променливи трябва да имаме няколко допълнителни – JAVA_HOME, ако все още не съществува, PHP_HOME и TOMCAT_HOME. Тези променливи трябва да сочат към главните съответни директории. В системния път (%PATH%) добавяме и %PHP_HOME%.

Отваряме %TOMCAT_HOME%\webapps, и създаваме директория test-php, а в нея – html-example.html (с най-просто съдържание), за да тестваме дали Tomcat работи. Стартираме Tomcat и отваряме http://localhost:8080/test-php/html-example.html. Ще изпреварим малко събитията и ще поготвим няколко други директории в test-php: WEB-INF, WEB-INF/lib. На нивото на html-example.html създаваме още една примерна страница, но този път за тестване на php: php-example.php със съдържание <?php phpinfo(); ?>

Отваряме %PHP_HOME%, копираме php.ini-dist в име php.ini и го отваряме за редакция. Разкоментираме реда с ;extension=php_java.dll, а ако той не съществува, добавяме само extension=php_java.dll (редовете, започващи с ; са коментари). От PECL-архива разархивираме php5servlet.dll и php_java.dll в %PHP_HOME%. Също от този архив взимаме phpsrvlt.jar и го оставяме в test-php/WEB-INF/lib. Отваряме jar-а (с jar или най-обикновен zip де/архиватор) и правим 2 промени в net/php/reflect.properties и net/php/servlet.properties: и в двата файла променяме реда library=php5srvlt на library=php5servlet (показват името на dll-файла, който ще се търси). Записваме ги и ги вкарваме обратно в .jar-архива (отново с jar или zip де/архиватор).

Отново се сръщаме в test-php/WEB-INF и в нея създаваме web.xml файл. Ето и неговото съдържание

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<web-app>
  <display-name>test-php</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.php</welcome-file>
  </welcome-file-list>
  <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>

Стартираме Tomcat, отваряме http://localhost:8080/test-php/php-example.php и при успешно изпълнение на горните стъпки трябва да видим PHP Info страницата.

ВАЖНО: тези .dll файлове с x64 архитектури на Windows не са съвместими!