将php应用程序从linux系统移动到使用wamp运行windows7的系统时,php定义语句失败


php define statement failing while moving php app from linux system to one running windows 7 with wamp

我正在设置一个开发环境,以便在php站点上工作。我已经将我所有的源代码复制到运行wamp的windows7盒子上。

我正在尝试更新所有路径,以反映我的开发框中的正确位置。但我的一些定义语句有问题。例如,我有以下代码:

define ('DOCUMENT_ROOT', 'c:'wamp'www'myapplicationname'members'');
define ('DB_LOG', 'c:'wamp'www'myapplicationname'members'log'db');
define ('ERROR_LOG', 'c:'wamp'www'myapplicationname'members'log'errors');

当我尝试运行网站时,我得到以下错误消息:

分析错误:语法错误,中出现意外的T_STRINGC: 第39行的''wamp''www''myapplicationname''members''includes''init.php

第39行是我上面列出的第二个define语句。我可以判断出有问题,因为第二行的语法高亮显示不起作用。它不识别"define"语句
如果我将第一行更改为:

 define ('DOCUMENT_ROOT', 'c:'wamp'www'myapplicationname'members''');

然后高亮显示再次工作,但当然,路径是错误的。

你能告诉我我缺了什么吗?

编辑1

我试着把它改成:

'define('DOCUMENT_ROOT','c:''wamp''www''myapplicationname''members'''');

但在代码的后面,当我们像这样附加到DOCUMENT_ROOT时,

require_once DOCUMENT_ROOT.''inc'exception.class.php';

我得到以下错误:

警告:require_one(c:''wamp''www''myapplicationname''members'''inc''exception.class.php)[function.requie-once]:无法打开流:

SO代码高亮显示清楚地显示了问题:'是一个转义字符,它正在转义以下字符。'不被解释为字符串结尾,而是该字符串中的'字符。然后您的字符串跨到下一行,这是不允许的,PHP会抛出一个错误。

如果你想在字符串中使用',你需要键入''——第一个将转义第二个:

define ('DOCUMENT_ROOT', 'c:''wamp''www''myapplicationname''members''');
define ('DB_LOG', 'c:''wamp''www''myapplicationname''members''log''db');
define ('ERROR_LOG', 'c:''wamp''www''myapplicationname''members''log''errors');

您希望转义所有反斜杠,因为它们是PHP:中的特殊字符

define ('DOCUMENT_ROOT', 'c:''wamp''www''myapplicationname''members''');
define ('DB_LOG', 'c:''wamp''www''myapplicationname''members''log''db');
define ('ERROR_LOG', 'c:''wamp'www''myapplicationname''members''log''errors');