2012-02-23 49 views
1

我一直在试图让使用Phalanger的.Net平台上的codeigniter工作。这只是一个测试练习,我想实际上将Codeigniter转换为dll,以便我可以从wwwroot/inetpub文件夹中删除源代码,并在发布时将编译后的dll放入Web根文件夹中。如何使用phalanger将Codeigniter转换为.net dll?

在做这件事时,我使用phalanger成功地在IIS上运行codeigniter默认页面。然后我使用phalanger命令编译它,并将所有phalanger dll按照其wiki上所述放入bin。所以现在我已经编译了dll以及源代码到web根目录。哪个也工作正常。

当我从webroot移动codeigniter源代码(php文件包括文件夹系统&应用程序)时,它停止工作。正如关于phalanger特性所述,编译后的dll应该可以工作,但不起作用。相反,每次我们访问页面时,它都会从php文件中加载它。

是否任何人有任何想法如何将其转换为DLL和主机只有DLL而不是源代码。或者我在这里错过了一些东西。在这方面的任何帮助表示赞赏。

回答

0

Phalanger实际上从bin/WebPages.dll(和配置中指定的其他DLL)加载脚本。只有在提供的DLL中找不到该脚本时,它才会查看文件系统。

这个问题可能是由事实引起的,它只在包含语句(include,require,include_once,require_once)中起作用。

文件系统函数仅适用于文件系统;在PHP中检查各种文件的存在和内容是很常见的做法。主要是检查配置是否存在,插件被加载,解析脚本等附加评论。

因此,您可以删除DLL中已存在的所有.php文件,但应保留CodeIgniter通过fs函数使用的所有文件。

+0

好的,我明白了。你可以分享一些简单的几页PHP应用程序的示例/链接(不一定在codeigniter),所以我可以有一个想法。 – Krunal 2012-02-24 14:05:26