Назад | Перейти на главную страницу

причальный сервер, выполняющий php

Я хочу настроить так, чтобы пристань запускала файлы PHP, но пока безуспешно. В моей Eclipse IDE установлены инструменты Jetty WTP.

Когда я запускаю сервер Jetty. У меня исключение: java.lang.ClassNotFoundException org.mortbay.servlet.CGI: org.mortbay.servlet.CGI и javax.servlet.UnavailableException: org.mortbay.servlet.CGI. Я помещаю простой файл php (index.php) в свою папку WebContent. Я также загрузил эту библиотеку и добавил ее в путь к классам (Eclipse: путь сборки и добавление внешней банки). Я понятия не имею, что я сделал не так. Я также скомпилировал php с помощью:

./configure --with-fastcgi=/usr/local
make
sudo make install

А мой файл web.xml выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<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">
    <display-name>Sample PHP Application</display-name>
    <servlet>
        <servlet-name>PHP</servlet-name>  
        <servlet-class>org.mortbay.servlet.CGI</servlet-class>
        <init-param>
            <param-name>commandPrefix</param-name>
            <param-value>/usr/local/bin/php-cgi-fix</param-value>
        </init-param>
    </servlet>

    <servlet-mapping>
        <servlet-name>PHP</servlet-name>
        <url-pattern>/index.php/*</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.php</welcome-file>
    </welcome-file-list> </web-app>

Это может быть мой файл php-cgi-fix, когда я открываю его, я получаю следующий текст в терминале i:

$ /usr/local/bin/php-cgi-fix ; exit;
/usr/local/bin/php-cgi-fix: line 3: /usr/bin/php-cgi: No such file or directory
logout

Не должно быть вместо этого / usr / local / php-cgi? Хорошо, я попробовал это сейчас, но все равно у меня были те же самые ошибки при запуске сервера.

(Мне тоже не нравится использовать maven

Если ваш скрипт php-cgi-fix исходит из Jetty и PHP тогда это больше не требуется, вы можете просто вызвать php-cgi напрямую.

Через 22 дня после того, как вы задали вопрос, но если вас все еще нет, я бы предложил сначала запустить это за пределами Eclipse. Включите отладку и найдите в журнале строки, содержащие «CGI», а также установите для init_param «ignoreExitState» значение «true».

Вопросы о Jetty и PHP появляются в списке рассылки примерно раз в год, поэтому я думаю, что очень немногие люди этим занимаются. Вы вполне можете быть первым, кто сделает это на Mac с определенной версией Jetty.

Установите php-cgi (содержащий / usr / bin / php-cgi).

Ubuntu / Debian:

sudo apt-get install php5-cgi

CentOS / Red Hat / Fedora:

yum install php-cli

В Mac OS попробуйте создать символическую ссылку:

sudo ln -s /usr/bin/php /usr/bin/php-cgi