2010-08-08 112 views
1

我正在为创建自己的PHP文件的CMS构建模块。我收到了一些反馈意见,许多托管提供程序不允许PHP在可执行PHP脚本的目录上拥有写入权限。尽管脚本在技术上不是“可执行的”(它们只是类定义),但我担心这个模块可能无法在很多用户的环境中工作。使用PHP创建可执行脚本

这是真的吗?如果是这样,假设创建PHP文件是不可协商的,是否还有另一种方法可以研究?

+1

在我看来,这里有一个关键的区别。由于PHP文件只是类定义,因此不需要执行perms。所以我想我可能会好起来? – 2010-08-08 21:28:45

+1

为什么不试一试:你应该能够在任何情况下包含它们。 (尽管它们包含的内容不会有什么区别 - PHP代码是PHP代码。) – 2010-08-08 21:40:54

回答

1

谢谢大家。 @Pekka说得很好。我错误地认为“执行”与简单的包含(例如类定义)是一样的。这些脚本不需要从URL运行,所以我认为我没事。

1

您可以将代码存储在数据库或文本文件中,并使用eval()函数来运行它。

看一看 http://www.php.net/eval

+2

Eval()应该只用作非常非常不得已的手段。事实上,改变脚本的体系结构比使用eval更好。从数据库执行实时代码不是一个好主意。 – 2010-08-08 21:39:38

+0

参见例如http://stackoverflow.com/questions/951373/when-is-eval-evil-in-php – 2010-08-08 21:43:00

0

网络hostings服务允许脚本写入文件的主要,如果不是,它允许您设置CHMOD权限的目录和文件。

(哈桑·杰希是正确的,他发布第一,但我想的一样)