Как конвертировать Codeigniter в .net dll с помощью phalanger? - PullRequest
1 голос
/ 23 февраля 2012

Я пытался заставить работать codeigniter на платформе .Net с использованием Phalanger. Это всего лишь тестовое упражнение, и я хочу фактически преобразовать Codeigniter в dll, чтобы я мог удалить исходный код из папки wwwroot / inetpub и просто поместить скомпилированный dll в корневую веб-папку во время публикации.

При этом я получаю страницу по умолчанию codeigniter, работающую на IIS, успешно использующую phalanger. Затем я скомпилировал его с помощью команды phalanger и поместил все dll phalanger в корзину, как описано в их вики. Итак, теперь я собрал dll, а также исходный код в веб-корень. Который тоже работает нормально.

В тот момент, когда я перемещаю источник codeigniter (php-файлы, включая систему папок и приложения) из webroot, он перестает работать. Как описано в функциях phalanger, скомпилированная dll должна работать, но она не работает. Вместо этого каждый раз, когда мы получаем доступ к странице, она загружает ее из php-файла.

Есть ли у кого-нибудь идеи, как преобразовать его в dll и разместить только dll, а не исходный код. Или я что-то здесь упускаю. Любая помощь в этом отношении приветствуется.

1 Ответ

0 голосов
/ 23 февраля 2012

Phalanger фактически загружает скрипты из bin / WebPages.dll (и дополнительных DLL, указанных в конфигурации).И только если сценарий не найден в предоставленных DLL, он просматривает файловую систему.

Проблема может быть вызвана тем, что он работает только внутри операторов включения (include, require, include_once, require_once).

Функции файловой системы работают только с файловой системой;и в PHP принято проверять наличие и содержание различных файлов.Главным образом, чтобы проверить, есть ли конфигурация, загружаются плагины, разбираются ли дополнительные комментарии из скрипта и т. Д.

Таким образом, вы можете удалить все файлы .php, которые уже находятся в DLL, но вы должны оставить эти файлы, которые CodeIgniter использует через fsфункции.

...