【问题标题】:CakePhp application gives 500 Server Error on EC2 Ubuntu InstanceCakePhp 应用程序在 EC2 Ubuntu 实例上出现 500 服务器错误
【发布时间】:2013-08-31 04:47:19
【问题描述】:

我使用 PHP MySQL 在纯代码和 Cake 中制作了一个 Web 应用程序。当我将代码上传到 Ubuntu EC2 实例时,它可以与数据库一起正常工作,但是在我将 Cake 目录上传到它的位置之后,它给了我 500 服务器错误。

我尝试将/ 添加到所有 3 个 htaccess 文件中,但没有效果。需要注意的是,当我上传所有文件时,它会在实例上显示常规索引。但是,一旦主 index.php 文件被上传,它就会开始显示错误。所以我假设它与index.php 中设置的路径或其他东西有关。请帮忙!

我在 Windows 7 机器上用 XAMPP 制作了 cakePHP 应用程序。它可能与服务器上php.ini 文件中的错误指令/其他内容有关吗?

这是我的index.php 文件内容:

define('APP_DIR', 'app');
define('DS', DIRECTORY_SEPARATOR);
define('ROOT', dirname(__FILE__));
define('WEBROOT_DIR', 'webroot');
define('WWW_ROOT', ROOT . DS . APP_DIR . DS . WEBROOT_DIR . DS);

if (!defined('ROOT')) {
    define('ROOT', DS.'var'.DS.'www');
}
if (!defined('APP_DIR')) {
    define('APP_DIR', 'app');
}
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
    define('CAKE_CORE_INCLUDE_PATH', ROOT . DS . 'lib');
}

require APP_DIR . DS . WEBROOT_DIR . DS . 'index.php';

这是错误日志:每当我刷新时,此错误都会重复

[Wed Aug 28 09:26:38 2013] [error] [client xxxxxxx] PHP Warning:  /var/www/app/tmp/cache/persistent/ is not writable in /var/www/lib/Cake/Cache/Engine/FileEngine.php on line 337
[Wed Aug 28 09:26:38 2013] [error] [client xxxxxxx] PHP Fatal error:  Uncaught exception 'CacheException' with message 'Cache engine _cake_core_ is not properly configured.' in /var/www/lib/Cake/Cache/Cache.php:166Stack trace:
#0 /var/www/lib/Cake/Cache/Cache.php(136): Cache::_buildEngine('_cake_core_')
#1 /var/www/app/Config/core.php(336): Cache::config('_cake_core_', Array)
#2 /var/www/lib/Cake/Core/Configure.php(78): include('/var/www/app/Co...')
#3 /var/www/lib/Cake/bootstrap.php(171): Configure::bootstrap(true)
#4 /var/www/app/webroot/index.php(96): include('/var/www/lib/Ca...')
#5 /var/www/index.php(43): require('/var/www/app/we...')
#6 {main}
  thrown in /var/www/lib/Cake/Cache/Cache.php on line 166

【问题讨论】:

  • 您错过了最重要的信息。 error.log 告诉你的错误是什么?
  • 您好,很抱歉,我不确定错误日志的位置,请您指点我的方向吗??
  • 在ubuntu上,默认情况下,apache的错误日志在/var/log/apache2/error.log这应该有一些关于错误原因的信息
  • 嘿,我用错误日志编辑了问题!请帮忙:-/

标签: php cakephp ubuntu amazon-ec2 internal-server-error


【解决方案1】:

error.log 告诉您问题所在

/var/www/app/tmp/cache/persistent/ is not writable 

文件夹权限设置不正确。

在你的 shell 上运行以下命令

chmod -R 777 /var/www/app/tmp/

这将允许写入 Cake 工作所需的 tmp 文件夹

【讨论】:

  • 非常感谢!该网站现在正在显示,虽然没有任何图像或 CSS 并且有点混乱。我认为这可能是源路径问题...有什么想法吗?
猜你喜欢
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 2015-10-11
  • 1970-01-01
  • 2021-12-04
  • 2014-07-08
  • 2014-06-07
  • 2012-07-20
相关资源
最近更新 更多