无法设置PHP包含路径

无法设置PHP包含路径,php,ubuntu,path,include-path,Php,Ubuntu,Path,Include Path,我已经在var/www/html中上传了我的所有文件,在我的一个php文件中,我有这样一行: require_once('libraries/stripe/init.php'); “我的文件夹”的结构如下所示: www -html/ -libraries -> Stripe -> init.php -register.php 我一直收到以下错误消息: 警告:require_once(libraries/Stripe/init.p

我已经在var/www/html中上传了我的所有文件,在我的一个php文件中,我有这样一行:

require_once('libraries/stripe/init.php');
“我的文件夹”的结构如下所示:

www
 -html/
       -libraries
           -> Stripe -> init.php
       -register.php
我一直收到以下错误消息:

警告:require_once(libraries/Stripe/init.php):无法打开流:第116行的/var/www/html/register.php中没有这样的文件或目录

致命错误:require_once():在第116行的/var/www/html/register.php中打开所需的“libraries/Stripe/init.php”(include_path='):/usr/share/php:/var/www/html/')失败

我的php.ini文件以前是这样的

include_path=“.:/usr/local/php/pear/”

但根据这里的一些答案,我把它改为

include_path=':/usr/share/php:/var/www/html/'

但它不起作用

编辑:在我的库文件夹中,我有一个名为index.php的文件,内容如下:

<?php 
header("Location: ../"); die();

那不是你想要的。它表示php.ini文件找不到指定文件的路径。这就是为什么应该使用文件的绝对路径

require_once "path/to/file";

我不会把图书馆的路径留给这样的机会:

require_once(__DIR__ . '/libraries/Stripe/init.php');
这将确保使用当前运行脚本的绝对目录路径包含脚本

更新 无法打开所需的“/var/www/html/libraries/Stripe/init.php”

那么,文件就不在那里了;如果此文件是由其他工具生成的,例如,
composer
,则需要在新服务器上重新生成(最好是在每次部署时)

我想问题是我的条纹文件夹在“s”中,但我使用大写字母“s”。是否有任何方法使其不区分大小写


与Windows不同,Linux下的文件系统默认区分大小写(甚至不确定是否可以更改)。确保始终使用大写字母。

请检查其中的文件path@Ramki该文件存在于路径Include_once(path)@MeeneshJain中,对任何需要麻烦的内容授予777权限,停止传播坏建议@HiradRoshandel更改代码以使用正确的路径,特别是区分大小写的正确路径*nix文件系统通常区分大小写。最好是以最便携的方式编写代码,但我在另一台服务器上有这段代码,它工作正常!我的设置肯定有问题,仍然是相同的错误:无法打开必需的“/var/www/html/libraries/Stripe/init.php”与composer有关吗?@HiradRoshandel那么文件根本不在那里;如果您使用
composer
在该非标准目录中安装软件包,那么您需要在另一台服务器上再次运行它。呃,它区分大小写。请参见此处的评论~@HiradRoshandel您是否确实使用Composer安装了Stripe软件包?