gpt4 book ai didi

PHPUnit 不允许我包含文件

转载 作者:行者123 更新时间:2023-12-04 05:08:32 25 4
gpt4 key购买 nike

每当我尝试包含文件时,PHPUnit 都会给我一条错误消息。例如以下代码给了我错误:

<?php

include_once "PHPUnit/Autoload.php";
require_once "controller/ProductController.php";

class SecurityTests extends PHPUnit_Framework_TestCase
{
public function testSmth() {
$this->assertTrue(1==1);
}
}

?>

但是如果我删除第四行( require_once "controller/ProductController.php"; ),它运行良好。

我得到的错误是:
Warning: require_once(PHPUnit/Framework/Error.php): failed to open stream: No such file or directory in E:\wamp\bin\php\php5.4.3\pear\PHPUnit\Util\ErrorHandler.php on line 48

编辑:
我在 php.ini 文件中的 include_path 是:
include_path = ".;E:\wamp\bin\php\php5.4.3\pear\;E:\wamp\www\renting\"

奇怪的是:
<?php
echo get_include_path(); **// Will echo .;E:\wamp\bin\php\php5.4.3\pear\;E:\wamp\www\renting\**
require_once 'PHPUnit/Autoload.php';
require_once 'controller/AccountController.php';
echo get_include_path(); **// Will echo E:/wamp/www/renting/**

还有:
<?php

require_once 'controller/AccountController.php';
echo get_include_path(); **// Will echo E:/wamp/www/renting/**
require_once 'PHPUnit/Autoload.php';

echo get_include_path(); **// Will not even echo.**

这对我来说很奇怪。

有什么想法吗?

最佳答案

我有一个类似的问题,PHPUnit 无法在父目录中找到文件。它只
定位文件是导入它们的类的当前目录的子文件,例如

文件结构:

var/
www/
/api
index.php
conf.php
/config
dbconfig.php

索引.php
require_once 'conf.php'; #works fine
require_once '../config/dbconfig.php; #ERROR

PHPUnit 在尝试转到父文件夹时在查找相对路径时遇到问题。
阅读后 this answer.解决方案是插入 dirname(dirname(__FILE__)) , dirname(__FILE__)通过应用 dirname 返回当前目录的路径到路径,它返回父路径。

索引.php
require_once 'conf.php'; #works fine
require_once dirname(dirname(__FILE__)) . '../config/dbconfig.php'; #works fine.

关于PHPUnit 不允许我包含文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15193816/

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