-1

我正在使用 cakephp 版本 2.3.6,我一直在尝试通过 CPanel 将蛋糕上传到 hostgator 服务器,但在 webroot 中配置 index.php 文件时遇到问题,但不确定 Cpanel 上我的 cpanel 上我的蛋糕版本的正确配置用户名是 fredenda 我试图在 cpanel 中配置它,但不断给出这个错误信息

" 解析错误:语法错误,意外 ';' 在 /home/fredenda/public_html/index.php 第 41 行"

但是这个错误不在文件中,请有人帮助我。请检查下面的文件...祝福。

<?php
/**
 * Index
 *
 * The Front Controller for handling every request
 *
 * PHP 5
 *
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
 * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 *
 * Licensed under The MIT License
 * For full copyright and license information, please see the LICENSE.txt
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright     Copyright (c) Cake Software Foundation, Inc.      
(http://cakefoundation.org)
 * @link          http://cakephp.org CakePHP(tm) Project
 * @package       app.webroot
 * @since         CakePHP(tm) v 0.2.9
 * @license       http://www.opensource.org/licenses/mit-license.php MIT License
 */

/**
 * Use the DS to separate the directories in other defines
 */
 if (!defined('DS')) {
define('DS', DIRECTORY_SEPARATOR);
}

/**
* These defines should only be edited if you have cake installed in
* a directory layout other than the way it is distributed.
 * When using custom settings be sure to use the DS and do not add a trailing DS.
*/

/**
* The full path to the directory which holds "app", WITHOUT a trailing DS.
 *
 */
if (!defined('ROOT')) {
define('ROOT', DS.'home'.DS.(fredenda);
}

/**
 * The actual directory name for the "app".
 *
 */
if (!defined('APP_DIR')) {
define('APP_DIR', 'app');
}

/**
 * The absolute path to the "cake" directory, WITHOUT a trailing DS.
 *
 * Un-comment this line to specify a fixed path to CakePHP.
* This should point at the directory containing `Cake`.
 *
 * For ease of development CakePHP uses PHP's include_path. If you
 * cannot modify your include_path set this value.
  *
* Leaving this constant undefined will result in it being defined in Cake/bootstrap.php
 *
* The following line differs from its sibling
 * /lib/Cake/Console/Templates/skel/webroot/index.php
 */

 define('CAKE_CORE_INCLUDE_PATH', ROOT . DS . 'lib')

/**
 * Editing below this line should NOT be necessary.
  * Change at your own risk.
  *
  */
 if (!defined('WEBROOT_DIR')) {
define('WEBROOT_DIR', basename(dirname(__FILE__)));
 }
 if (!defined('WWW_ROOT')) {
define('WWW_ROOT', dirname(__FILE__) . DS);
 }

// for built-in server
if (php_sapi_name() == 'cli-server') {
if ($_SERVER['REQUEST_URI'] !== '/' && file_exists(WWW_ROOT . $_SERVER['REQUEST_URI'])) {
    return false;
   }
   $_SERVER['PHP_SELF'] = '/' . basename(__FILE__);
   }

    if (!defined('CAKE_CORE_INCLUDE_PATH')) {
if (function_exists('ini_set')) {
    ini_set('include_path', ROOT . DS . 'lib' . PATH_SEPARATOR .         ini_get('include_path'));
}
if (!include ('Cake' . DS . 'bootstrap.php')) {
    $failed = true;
}
 } else {
if (!include (CAKE_CORE_INCLUDE_PATH . DS . 'Cake' . DS . 'bootstrap.php')) {
    $failed = true;
}
 }

if (!empty($failed)) { trigger_error("找不到CakePHP核心。检查APP/webroot/index.php中CAKE_CORE_INCLUDE_PATH的值。它应该指向包含你的".DS."蛋糕核心目录的目录和你的“.DS.”供应商根目录。”, E_USER_ERROR); }

  App::uses('Dispatcher', 'Routing');

 $Dispatcher = new Dispatcher();
 $Dispatcher->dispatch(
new CakeRequest(),
new CakeResponse()
 );
4

1 回答 1

1

张开你的眼睛。;) 解析器没有骗你。有一个缺失 ) 但我不认为 fredenda 是一个常数,所以......

define('ROOT', DS.'home'.DS.(fredenda);

这一行应该是:

define('ROOT', DS . 'home' . DS. 'fredenda');

我建议您使用具有适当 php 语法突出显示和语法检查的编辑器或 IDE,以立即查看此类语法问题。

并遵循编码标准,DS 和字符串之间应该有一个空格,就像所有其他地方一样。也很好读这本书“清洁代码”。

于 2013-11-15T03:59:07.563 回答