Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将php应用程序从linux系统移动到运行带wamp的windows 7的系统时,php define语句失败_Php_Linux_Wamp - Fatal编程技术网

将php应用程序从linux系统移动到运行带wamp的windows 7的系统时,php define语句失败

将php应用程序从linux系统移动到运行带wamp的windows 7的系统时,php define语句失败,php,linux,wamp,Php,Linux,Wamp,我正在设置一个开发环境,以便在php站点上工作。 我已将所有源代码复制到运行wamp的Windows7上 我正在尝试更新所有路径,以反映我的dev box上的正确位置。 但我的一些定义语句有问题。例如,我有以下代码: define ('DOCUMENT_ROOT', 'c:\wamp\www\myapplicationname\members\'); define ('DB_LOG', 'c:\wamp\www\myapplicationname\members\log\db'); define

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

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

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_字符串 第39行C:\wamp\www\myapplicationname\members\includes\init.php

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

 define ('DOCUMENT_ROOT', 'c:\wamp\www\myapplicationname\members\\');
然后高亮显示再次工作,但当然,路径是错误的

你能告诉我我错过了什么吗

编辑1

我已尝试将其更改为:

'define('DOCUMENT\u ROOT','c:\wamp\www\myapplicationname\members\''

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

require_once DOCUMENT_ROOT.'\inc\exception.class.php';
我得到以下错误:


警告:require\u once(c:\wamp\www\myapplicationname\members'\inc\exception.class.php)[function.require 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');

\'
正在逃出终点
'
你能告诉我怎么避开吗?我以为合二为一可以解决问题,但事实并非如此。感谢您使用unix风格的目录分隔符
/wamp/www/myapplicationname/members
:它仍然适用于WindowsMark Baker-您想添加它作为答案吗?我接受……哎哟。这是一个很大的工作。只是个问题。有没有什么方法可以像我们在linux中使用的那样将原始路径保留为“/”并让wamp找到答案?@dot我想Mark Baker在对问题的评论中回答了这个问题。