我目前正在使用最新的 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>