Я хочу настроить так, чтобы пристань запускала файлы 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