无法设置PHP include_path

时间:2015-06-18 04:21:11

标签: 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.php):无法打开流:第116行/var/www/html/register.php中没有此类文件或目录

     

致命错误:require_once():无法打开所需的库&Stripe / init.php'第116行的/var/www/html/register.php中的(include_path ='。:/ usr / share / php:/ var / www / html /')

我的php.ini文件曾经是这样的

  

include_path ="。:/ usr / local / php / pear /"

但根据这里的一些答案,我将其改为

  

的include_path =':在/ usr /共享/ PHP:/无功/网络/ HTML /'

但它没有用!

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

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

2 个答案:

答案 0 :(得分:4)

我不会让库路径像这样:

require_once(__DIR__ . '/libraries/Stripe/init.php');

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

更新

  

未能打开'/var/www/html/libraries/Stripe/init.php'

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

  

我认为问题是我的Stripe文件夹在“s”中,但我使用的是资本“S”。反正是不是要区分大小写?

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

答案 1 :(得分:2)

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

require_once "path/to/file";