我一直在尝试使用Phalanger让codeigniter在.Net平台上工作。这只是一个测试练习,我想实际将Codeigniter转换为dll,这样我就可以从wwwroot / inetpub文件夹中删除源代码,并在发布时将编译好的dll放入web根文件夹中。
在执行此操作时,我使用phalanger成功地在IIS上运行codeigniter默认页面。然后我使用phalanger命令编译它,并将所有phalanger dll放入bin中,如他们的wiki所述。所以现在我已经将dll以及源代码编译到web根目录中。哪个也工作正常。
当我从webroot移动codeigniter的源代码(php文件,包括文件夹系统和应用程序)时,它就会停止工作。正如phalanger功能所描述的那样,编译的dll应该可以工作,但它不起作用。相反,每当我们访问页面时,它都会从php文件加载它。
有没有人知道如何将其转换为dll并仅托管dll而不是源代码。或者我在这里遗漏了一些东西。在这方面的任何帮助表示赞赏。
答案 0 :(得分:0)
Phalanger实际上从bin / WebPages.dll(以及配置中指定的其他DLL)加载脚本。并且只有在提供的DLL中找不到脚本时,它才会查看文件系统。
问题可能是因为它只能在包含语句中使用(include,require,include_once,require_once)。
文件系统功能仅适用于文件系统;在PHP中通常的做法是检查各种文件的存在和内容。主要是检查是否存在配置,加载插件,解析脚本中的其他注释等。
因此,您可以删除DLL中的所有.php文件,但是您应该保留CodeIgniter通过fs函数使用的这些文件。