我正在设置一个开发环境,以便在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]:无法打开流:
'
是一个转义字符,它正在转义以下字符。'
不被解释为字符串结尾,而是该字符串中的'
字符。然后您的字符串跨到下一行,这是不允许的,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');