欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

thinkPHP,引入文件问题。

程序员文章站 2024-01-13 21:13:52
...
图1在action里面引入这几个文件,图2是文件的目录结构,之前用原生的调用执行都没有问题
,引入到tp方法都找不到了。后面用import也不可以,求帮忙


回复讨论(解决方案)

第15行,'dirname(__FILE__)/protocl'
你觉得__FILE__在字符串里能被解析吗?拆分成dirname(__FILE__) . '/protocl'

导入文件路径失败,检查下导入的文件

你 import 的参数是错误的,文件的放置也不符合 import 的约定
你完全可以继续使用 require,虽然不符合 TP 的规范

由于你没有提及实例化对象时出现错误,因此可假定实例化是成功的
于是可推定实例化语句包含在被嵌入的文件中

发生 Call to a member function .... 错误的原因是:实例化的对象是全局的,在 tp 的方法中不能直接使用(这是基本的变量作用域问题)

第15行,'dirname(__FILE__)/protocl'
你觉得__FILE__在字符串里能被解析吗?拆分成dirname(__FILE__) . '/protocl'


嗯,之前没看到这个问题,改了也是不行

你 import 的参数是错误的,文件的放置也不符合 import 的约定
你完全可以继续使用 require,虽然不符合 TP 的规范

由于你没有提及实例化对象时出现错误,因此可假定实例化是成功的
于是可推定实例化语句包含在被嵌入的文件中

发生 Call to a member function .... 错误的原因是:实例化的对象是全局的,在 tp 的方法中不能直接使用(这是基本的变量作用域问题)


                include 'Ice.php';		include 'ZXINSserver.php';		include 'protocl/ZXINUserInfoServant.php';		$iceGridDefaultLocator='ZXIceGrid/Locator:default -h 192.168.1.61 -p 1201 -t 1000:default -h 192.168.1.160 -p 1201 -t 5000:default -h 192.168.1.61 -p 1102 -t 5000';		$initData = new Ice_InitializationData;		$initData->properties = Ice_getProperties();		$initData->properties->setProperty("Ice.Default.Locator", $iceGridDefaultLocator);		$communicator = Ice_initialize($initData);		try		{			    //$p = $communicator->stringToProxy("ZXINStatusServant:tcp -h 192.168.1.60 -p 1111 -t 5000");		    $p = $communicator->stringToProxy("ZXINUserInfoServant");		    $user = ZXIN_ZXINUserInfoServantPrxHelper::checkedCast($p);

用了ice中间件,之前用原生的没问题,现在显示500server

错误信息说你用一个空对象调用了stringToProxy,说明你没有实例化某个对象,看看错误在哪个文件的哪一行出了错。

用include现在提示:Class 'Ice_InitializationData' not found,$initData = new Ice_InitializationData;这一句

Ice_InitializationData这个是ice.php里面的

class Ice_InitializationData{    public function __construct($properties=null, $logger=null)    {        $this->properties = $properties;        $this->logger = $logger;    }    public $properties;    public $logger;}

Class 'Ice_InitializationData' not found没有找到该类,是不是include的路径有问题,类的文件名正确吗?

Class 'Ice_InitializationData' not found没有找到该类,是不是include的路径有问题,类的文件名正确吗?


确定引入正确,路径文件 文件名都对的。目录结构在1楼

你把你上面的路径改为绝对路径

vendor('Ice');
vendor('ZXIN.ZXINSserver');
vendor('ZXIN.ZXINUserInfoServant');
我现在把这些依赖文件全部放到了Extend\Vendor里面,现在页面显示500错误。