我想将我的第一个 silex 项目放在网络主机上。目前我唯一能看到的是一个白页,我的浏览器需要一段时间才能真正找到该页面。
我的虚拟主机:www.mijnhostingpartner.nl 我目前的结构:
/root/data
/root/logs
/root/wwwroot
/root/wwwroot/app
/root/wwwroot/src
/root/wwwroot/vendor
/root/wwwroot/web
我的 web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="false" />
<rewrite>
<rules>
<rule name="Silex Front Controller" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" appendQueryString="true" />
</rule>
</rules>
</rewrite>
<defaultDocument>
<files>
<clear />
<add value="Default.html" />
<add value="Default.htm" />
<add value="Default.asp" />
<add value="index.htm" />
<add value="Default.aspx" />
<add value="index.html" />
<add value="index.php" />
<add value="index.asp" />
</files>
</defaultDocument>
</system.webServer>
</configuration>
我的 index.php:我发现“Require_once”不起作用。直到 echo('test1') 工作。“test2”未显示在屏幕上。
<?php
// PHP 5.4's built in server can now server static files
// @see http://silex.sensiolabs.org/doc/web_servers.html#php-5-4
$filename = __DIR__ . preg_replace('#(\?.*)$#', '', $_SERVER['REQUEST_URI']);
if (php_sapi_name() === 'cli-server' && is_file($filename)) {
return false;
}
echo('test1');
// Require the app and run it
require_once __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'app.php';
echo('test2');
$app->run();