gpt4 book ai didi

PHP 站点在 linux 上运行但不能在 windows 上运行

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:30:44 25 4
gpt4 key购买 nike

我开发了一个可以在 Linux 上完美运行的网站,但是当我尝试在 Windows 生产服务器上运行它时,php 脚本无法运行。此行之后的代码中的所有内容均不执行任何操作:

require_once __DIR__ . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'returner.php';

我认为问题可能与文件路径有关,所以我修改了代码以使用 DIR 和 DIRECTORY_SEPARATOR 以避免路径出现任何类型的问题。我使用 file_exists 测试了路径是否有效并且文件已找到,但是当我尝试在 Windows 服务器上运行它时,我的代码仍然没有执行任何操作。

/index.php 包括/lib/returner.php

/lib/returner.php 包括/lib/login.php

代码:

索引.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>';
...

返回者.php:

...
<?php
require_once __DIR__ . DIRECTORY_SEPARATOR . 'login.php';
$sede = $_POST['selectSede'];
...

最佳答案

看起来您的代码应该可以工作。

以防万一,这个 answer在 Stack Overflow 上可能会有所启发。我总结一下:

如果您只担心基于 Unix 或 Windows,使用正斜杠(“C:/test.txt”)对路径进行硬编码即可。

由于您使用的报价类型,可能存在差异:

  • 例如,"\123" 转换为 "Q"
  • Windows 需要 "C:\\test.txt"'C:\test.txt'"C:/test.txt"

另一个answer在同一个问题上建议做这样的事情:

define('DS','/');
define('BASE_ROOT',str_replace('\\',DS,dirname(__FILE__)));
require_once BASE_ROOT . DS . 'includes' . DS . 'init.php';

关于PHP 站点在 linux 上运行但不能在 windows 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27710526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com