我開發了一個在Linux上完美運行的網站,但是當我嘗試在Windows生產服務器上運行它時,php腳本不起作用。一切,這條線後,在代碼裏,沒有做任何事情:PHP網站在Linux上運行,但不在Windows上
require_once __DIR__ . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'returner.php';
我認爲proble可能與該文件的路徑,所以我修改了代碼,使用DIR和DIRECTORY_SEPARATOR避免任何種類的路徑問題。我測試了路徑是否正在使用file_exists並找到文件,但是當我嘗試在Windows服務器上運行它時,我的代碼仍然沒有任何作用。
的index.php包括/lib/returner.php
/lib/returner.php包括/lib/login.php
代碼:
的index.php:
...
div class="container" role="main">
<?php
require_once __DIR__ . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'returner.php';
echo '<div class="page-header">';
echo '<h1>' . returnSede() . '</h1>';
...
returner.php:
...
<?php
require_once __DIR__ . DIRECTORY_SEPARATOR . 'login.php';
$sede = $_POST['selectSede'];
...
窗口有目錄分隔符「\」和linux「/」 – Eugen
打開錯誤報告和閱讀你的日誌。 – Chris
@Eugen php會根據需要翻譯它們。我通常只使用'/'並且它工作正常。另外,OP正在使用預先定義的常量DIRECTORY_SEPARATOR,它應該解決這個問題。 –