0

我目前正在使用最新的 Slim 版本开发一个 Web 应用程序。一切都在我的专业计算机上完美运行(在 Ubuntu 12.04 上运行),但我想在假期在家从事该项目。因此,我已将项目复制到我的个人计算机上(在 mac os x 10.6.8 上运行)。问题是我总是得到空白页。它看起来不是一个重写问题,因为即使使用丑陋的地址,它也不起作用。

请在下面找到可能对解决问题有用的文件和信息。

文件夹结构(/Users/Yoann/Sites/DS)

-.htaccess 
- index.php
- vendor/
- utils/
- services/

utils 和 services 目录包含一些 php 类,对解决我的问题没有兴趣。

.htaccess

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ /index.php [QSA,L]

index.php(示例)

<?php

require_once 'vendor/autoload.php';
function autoload_class_multiple_directory($class_name) 
{
    # List all the class directories in the array.
    $array_paths = array(
        'utils/', 
        'services/'
    );

    foreach($array_paths as $path)
    {
        $file = sprintf('./%s%s.class.php',  $path, strtolower($class_name));
        if(is_file($file)) 
        {         
            include_once $file;
        } 
    }
}

spl_autoload_register('autoload_class_multiple_directory');

error_reporting(E_ALL);
ini_set('display_errors','On');

$app = new \Slim\Slim(array(
    "MODE" => "debug"
));

/* **********************************
 *          ROUTE DEFINITIONS
 * **********************************/
$arrDs = array("generator" => new Generator(),
               "average" => new Average()
               );

$app->get('/', function () use ($app,$arrDs){
    echo "dans la fonction de base !!! <br/>";
    foreach ($arrDs as $name => $obj){
        echo $name ."<br/>";
    }
});

$app->run();
?>

我正在使用定义为的虚拟主机

<VirtualHost *:80>
ServerAdmin [email blocked]
DocumentRoot "/Users/Yoann/Sites/DS"
ServerName ds.local
ErrorLog "/private/var/log/apache2/ds-error_log" 
CustomLog "/private/var/log/apache2/ds-access_log" combined


  <Directory "/Users/Yoann/Sites/DS">
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
4

1 回答 1

1

在开发环境中,始终将 error_reporting 设置为 E_ALL 并将 display_errors 设置为 true。

php.ini:
display_errors = On
error_reporting = E_ALL

您将看到所有错误、警告等...

于 2012-12-20T12:54:59.717 回答