无法设置 PHP include_path

Cannot set PHP include_path

我已将我的所有文件上传到 var/www/html 中,并且在我的一个 php 文件中有这一行:

require_once('libraries/stripe/init.php');

我的文件夹结构如下:

www
 -html/
       -libraries
           -> Stripe -> init.php
       -register.php

我不断收到此错误消息:

Warning: require_once(libraries/Stripe/init.php): failed to open stream: No such file or directory in /var/www/html/register.php on line 116

Fatal error: require_once(): Failed opening required 'libraries/Stripe/init.php' (include_path='.:/usr/share/php:/var/www/html/') in /var/www/html/register.php on line 116

我的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');

这将确保您使用 当前 运行 脚本的绝对目录路径包含脚本。

更新

Failed opening required '/var/www/html/libraries/Stripe/init.php'

好吧,那么文件就是不存在;如果此文件是由其他工具生成的,例如composer,它需要在新服务器上再次完成(或者理想情况下在每次部署时)。

i think the problem is my Stripe folder is in "s" but I'm using capital "S". is there anyway to make not case sensitive?

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