PHP和PHP5文件扩展名之间的区别

时间:2011-02-20 02:00:36

标签: php

我完全接管了我公司的网站,旧的开发人员使用了PHP5文件扩展名。我和他们一起工作了一段时间,但后来想知道为什么?我还是有些新手,但是当我从GoDaddy重命名每个文件并在Ubuntu上的localhost上打开它们时,页面加载正常。那么为什么开发人员使用php5文件扩展名呢?

另外值得一提的是,当我们使用<?= $code ?>时,他们使用了错误的编码方式<?php echo $code; ?>

我是否可以安全地移动重命名的php文件扩展名并将“ipn.php5”重命名为“ipn.php”以支付PayPal?

我知道.php5是新的版本,而不是语言,所以当我可以使用.php文件扩展名做所有我需要的东西时,使用.php5文件扩展名是什么意思?

3 个答案:

答案 0 :(得分:10)

文件扩展名告诉Web服务器使用哪个版本的PHP。设置了一些Web服务器,因此PHP 4是默认设置,您必须使用.php5告诉它使用PHP 5.现在设置了越来越多的Web服务器,以便.php默认到PHP 5,.php5扩展名不会做任何额外的事情。

事实上,如果您可以控制Web服务器,那么您应该能够以您想要的方式配置文件扩展名和PHP版本之间的映射。在共享主机提供程序上,如果不影响同一服务器的其他用户,则无法更改映射。

如果.php扩展名为您提供了所需的PHP版本,那就去吧。但是,最好在整个项目中保持一致。

答案 1 :(得分:4)

通常这样做,他们可以在服务器上运行两个版本的PHP解释器,而Apache则使用PHP 5.x解释器解析.php5文件,使用旧的PHP 4.x解释器解析.php文件。

您必须检查Apache配置以查看是否是这种情况。如果是这种情况,则必须在重命名文件扩展名之前通过PHP 5.x解释器更改配置以解析.php文件。

然后通过它的步伐运行应用程序,密切注意错误日志中的新错误/通知。我有类似的经验,发现我必须将所有ereg实例(在PHP 5中已弃用)转换为preg_match。

答案 2 :(得分:0)

这可能不是开发人员使用php5扩展的原因,但这里有一个我发现它有用的实例。我的项目中的文件以两种不同的方式使用PHP(1)作为主要HTML文件(或任何其他类型的文件)内的预处理器标签,以及(2)作为一种语言,其中文件主要是带有echo语句的PHP代码输出HTML(或其他任何事情)。

在我的项目中,使用两种不同的扩展来标记两种类型的使用(由不同团队在不同时间完成)。这样可以实现以下方便:在GUI文件管理器或版本控制系统中轻松排序;在大多数编辑器中,(1)的HTML目标语法高亮显示和(2)的PHP高亮显示;更简单的自动化持续集成任务,如测试,linting ....

无论是否有目的,在许多遗留项目中,文件扩展名都可以提供有关何时以及为何创建文件的线索,而且我没有充分理由破坏这些线索。