ASP.NET PHP View: использование Phalanger только для одной страницы

ВОПРОС

Можно ли использовать Phalanger (https://phalanger.codeplex.com/) в ASP.NET MVC только для одного просмотра и оставить все остальное, используя обычный Razor View Engine?

СИТУАЦИЯ

В настоящее время я использую ELFinder на своем сайте, который я интегрировал с помощью ELFinder Connector для .NET.

В идеале я хотел бы интегрировать Responsive File Manager здесь: http://www.responsivefilemanager.com/index.php

К сожалению, вышеупомянутый файловый менеджер написан на PHP.

Я читал, что PHP можно использовать в MVC с помощью Phalanger (см.: http://www.infoq.com/articles/Phalanger)

И мне интересно, возможно ли создать представление PHP и заставить этот файловый менеджер работать на моем сайте, в то же время оставляя все остальные страницы в покое.

Заметьте, я вообще ничего не знаю о PHP...

Если это вообще возможно, как мне начать это делать?

ИЗМЕНИТЬ

Я нашел простую реализацию движка просмотра PHP MVC здесь (который основан на Phalanger): https://phpviewengine.codeplex.com/

Кажется, у меня вроде получилось работать с TinyMCE. На самом деле это выглядит довольно хорошо, но затем при попытке выбрать файл выдает различные ошибки JavaScript. Вот ссылка на демонстрационный проект, который я сделал:

http://www.mediafire.com/download/p418f8xp7t9kiz3/PhpMvc.zip

Есть ли гении, которые могут понять это?

ИЗМЕНИТЬ 2

Причина, по которой он работал, хотя не должна была, заключалась в том, что я был достаточно глуп, чтобы указать конфигурацию TinyMCE на сервер автора... следующим образом:

external_filemanager_path:"http://test.albertoperipolli.com/secondaryserver/filemanager/",
external_plugins: { "filemanager" : "http://test.albertoperipolli.com/secondaryserver/filemanager/plugin.min.js"},

Теперь, когда я исправляю это, чтобы указать на мою локальную установку, у меня возникает следующая ошибка:

"Запрашиваемая вами страница не может быть обслужена из-за конфигурации расширения"

Думаю, мне нужно сообщить IIS/IIS Express, как обращаться с файлами PHP. Теперь посмотрим на это: https://support.microsoft.com/en-us/kb/2819022

ИЗМЕНИТЬ 3

Спасибо, @Jakub Míšek за подсказку. Я продвинулся немного дальше - я обновился до Phalanger 4, как и советовали, а также обновился до MVC5, пока я был на нем. Кажется, код запускается, но все еще не успешно. Когда я пытаюсь просматривать, возникает исключение в файле config.php, как показано ниже:

An exception of type 'PHP.Core.PhpException' occurred in PhpNetCore.dll but was not handled in user code

Additional information: Call to undefined function: 'session_start'

Это бросается в первую строку кода, а именно:

session_start();

Если я прокомментирую это и продолжу, следующая строка также выдаст такое же исключение.

Я слышал, что на Phalanger можно запускать целые фреймворки, такие как Prado. так что я думаю, что я все еще делаю что-то не так здесь.

Я загрузил свою последнюю попытку на: http://www.mediafire.com/download/2jz85y17znmtlz6/PhpMvc5.zip

Был бы признателен, если бы кто-нибудь мог предоставить рабочий пример. Я даже назначу вознаграждение за большое количество баллов, когда это будет разрешено, и вознагражу его тому, кто даст лучший ответ... поскольку наличие этого файлового менеджера в ASP.NET действительно было бы потрясающим.

ИЗМЕНИТЬ 4

Сейчас я делаю довольно хорошие успехи, решив несколько проблем... текущий статус см. на снимке экрана ниже. У меня даже есть это, когда я использую ТОЛЬКО файлы .cshtml (файлы PHP, вызываемые файловым менеджером, просто обрабатываются PHP View Engine), так что это действительно фантастика. Кажется, у меня есть еще несколько проблем, с которыми нужно справиться. Если мне удастся заставить его работать правильно, я опубликую решение здесь для других.

введите здесь описание изображения


person Matt    schedule 20.06.2015    source источник
comment
Прежде всего, обновитесь до Phalanger 4.0 (github.com/DEVSENSE/Phalanger) (страница codeplex, если закрыта в течение многих лет) Затем вам нужно настроить обработчики в web.config. Вы не должны устанавливать обычный PHP при использовании Phalanger. Поместите двоичные файлы Phalanger в подпапку /Bin и добавьте следующее в web.config ‹configuration›‹system.webServer›‹add name=Phalanger path=.php verb= type=PHP.Core.RequestHandler, PhpNetCore, Версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = 0a8e8c4c76728c71 resourceType = Unspecified preCondition = IntegratedMode /›   -  person Jakub Míšek    schedule 20.06.2015
comment
Спасибо, пожалуйста, смотрите мое редактирование выше.   -  person Matt    schedule 20.06.2015


Ответы (1)


Я решил это. Кому интересно, смотрите мою статью о CodeProject: http://www.codeproject.com/Tips/1004596/Using-Responsive-File-Manager-in-ASP-NET-MVC

person Matt    schedule 29.06.2015