php 文件路径在 windows 上工作但在 linux 上不工作

标签 php linux

我想在我的 PHP 应用程序中使用相对根路径。我在 Windows 上开发。

- wwww
  -my-api-2
  -my-api-1
     -config
         -configuration.php
     -inf
         -appService.php
     -index.php

appService.php 包含这样的 configuration.php

<?php
  include_once "/config/Configuration.php";

index.php 包含这样的 appService.php:

<?php
  include_once "inf/appService.php";

这在 windows 上工作,但在 linux 服务器上上传时不起作用。警告是这样的:

警告:include_once(/inf/Configuration.php) [function.include-once]:无法打开流:/var/www/my- 中没有这样的文件或目录api-1/inf/appService.php 位于 1

解决方案 PHP 对文件名区分大小写。我是 php 新手,所以我注意到在 windows 上开发的应用程序可能无法在 linux 上运行,因为区分大小写

最佳答案

看起来您在 PHP (Configuration.php) 中使用大写的“C”作为文件名,而实际文件名全部为小写 (configuration.php)。 Windows 文件名不区分大小写。然而,在 Linux 上,它们不是。相应地更改 PHP 中的文件名。

include_once "/config/configuration.php";

关于php 文件路径在 windows 上工作但在 linux 上不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25738588/

相关文章:

php - 在php中从数据库中获取字符串仅返回空格之前的部分

php - Facebook 点赞框 - 能够使用动态 URL 点赞当前页面

php - 是什么将我的 UTF-8 字符串更改为 ASCII?

php - 将动态添加的表单元素的值插入mysql数据库

php - 在 Wordpress 中加载更多帖子 Ajax 按钮 - 修复

linux - 将变量传递到 BASH 函数时出现“未找到命令”,我是否引用错误?

html - Firefox linux (centos) 响应式设计图像缩放

node.js - SyntaxError : Block-scoped declarations (let, const, function, class) 在严格模式之外还不支持安装SASS Node 包

c - 使用 pthread 写入和读取缓冲区

linux - 关闭终端时暂停 wget 并恢复