这听起来有点傻。 我必须使用新界面更新网站,虽然我收到旧代码但我丢失了。 (据我所知,我收到了完整的网站,包括phpPgAdmin)
大多数文件都是.cmt,但我很确定它是PHP,例如index.cmt是
<?
include_once('redirected.php');
exit();
function get_lang_from_ip() {
$client_ip = $_SERVER['REMOTE_ADDR'];
$client_hostname = gethostbyaddr($client_ip);
if ($client_ip != $client_hostname) {
$dom_arr = split('\.',$client_hostname);
$lang_id = ($dom_arr[sizeof($dom_arr)-1] == 'hu') ? 'hu' : 'en';
} else {
$lang_id = 'hu';
}
return $lang_id;
}
function set_target() {
$valid_lang_arr = array('hu', 'en');
if (isset($_GET['lang_id']) && in_array($_GET['lang_id'], $valid_lang_arr)) {
$lang_id = $_GET['lang_id'];
} elseif (isset($_COOKIE['lang_id']) && in_array($_COOKIE['lang_id'], $valid_lang_arr)) {
$lang_id = $_COOKIE['lang_id'];
} else {
$lang_id = 'hu'; //get_lang_from_ip();
}
setcookie('lang_id', $lang_id, time()+3600*24*365, '/');
return $lang_id;
}
header('Connection: close');
header('Location: /'.set_target().'/');
?>
但.php文件不是以<?
短开标记开头,而是以<?php
开头。最重要的是,.cmt文件没有被解析,如果我导航到index.cmt我在浏览器中看到代码,因此我甚至无法将旧布局重新组合在一起。
感谢任何帮助。
答案 0 :(得分:3)
您可以制作.htaccess
文件,并包含以下内容:
AddType application/x-httpd-php .cmt
这应该允许PHP在.cmt文件扩展名上执行。
请注意,此修补程序只能在Apache Web服务器或支持.htaccess
的其他服务器上使用。
尽管如果可能,我建议您将所有.cmt
个文件扩展名更改为相应的对应部分.php
。
答案 1 :(得分:3)
虽然@Josh Foskett有一个有效的答案,但我认为实际的解决方案是浏览您的文件并将.cmt
扩展名重命名为.php
以获得可扩展性并避免混淆。
考虑通过将旧版扩展升级到当前扩展标准来“逐步淘汰”旧版扩展。将它作为一个项目,而不是一个快速解决方案,我认为你的代码库会更快乐。
答案 2 :(得分:1)
您需要将服务器配置为将.cmt
文件解析为PHP。
此外,<?
和<?php
都是PHP的有效开始标记,但在PHP设置中可能会关闭短版本(通常在文件系统的某处定义php.ini
)。
答案 3 :(得分:1)
在php.ini中启用short_open_tag
。
这将确保php实际执行,如果它是包含来自另一个文件。它仍然不会直接执行.cmt
个文件,但是如果你有主.php
个条目文件,那就是你需要的行为。