Php 文件包括从Linux到Windows

Php 文件包括从Linux到Windows,php,linux,windows,Php,Linux,Windows,我已经面对了这个问题。脚本是在Linux环境下编写的,我使用的是windows。当我下载了整个脚本后,include已经停止工作。例如: <?PHP include("/var/www/keytarget.adnet.lt/data/core/php/class/CurrentVersionNumber/main.php"); if (VERSION_NUMBER) { include("/var/www/keytarget.adnet.lt/data/version/" . V

我已经面对了这个问题。脚本是在Linux环境下编写的,我使用的是windows。当我下载了整个脚本后,include已经停止工作。例如:

<?PHP
include("/var/www/keytarget.adnet.lt/data/core/php/class/CurrentVersionNumber/main.php");

if (VERSION_NUMBER) {
    include("/var/www/keytarget.adnet.lt/data/version/" . VERSION_NUMBER . "/php/class/KeytargetLocalCacheSingleton.php");
    include("/var/www/keytarget.adnet.lt/data/version/" . VERSION_NUMBER . "/php/class/KeytargetPdo.php");
    include("/var/www/keytarget.adnet.lt/data/version/" . VERSION_NUMBER . "/php/class/Receiver.php");
    $currentKeywordReceiver = new Receiver("HTML");
}
?>

关于如何替换include URL使其成为windows URL,有什么想法吗?像C:\wamp\www\data或类似的东西?

下载一些文本编辑器并替换所有出现的内容

或者使用将替换它的php脚本。最好不要使用完整路径,而是使用$\u SERVER['DOCUMENT\u ROOT']

php脚本应该如下所示:

<?php
  $toreplace = "/var/www/"; // the old path to root
  $replace = "C:/wamp/www/data"; // the new path to root
  foreach(glob("*.php") as $php_file) {
    $data = file_get_contents($php_file);
    $data = str_replace($toreplace,$replace,$data);
    file_put_contents($php_file,$data);
  }
?>

打开编辑器->搜索结束替换->键入搜索模式->键入n替换->点击回车?您不需要更改目录分隔符-windows上的PHP将很高兴地将路径usng“/”重新设置为目录分隔符。OTOH重复的、硬编码的absloute路径是非常糟糕的做法,解决问题的正确方法是从反复打击开发人员开始。我还建议您在自己的笔记本电脑上安装Linux。你会学到很多,而且为Linux服务器开发要简单得多。谢谢大家的回答,特别是感谢PeeHaa的讽刺,我对此表示赞同。我只需将项目文件放到c:/var/www/keytarget.adnet.lt/data/version/,就解决了这个问题。。。由于windows以c:/的形式打开/dir,所以问题只需将项目文件放到该目录中,并使用一些别名配置apache服务器即可解决。谢谢大家,问题解决了。