> 백엔드 개발 > PHP 튜토리얼 > thinkPHP,引入文件问题。

thinkPHP,引入文件问题。

WBOY
풀어 주다: 2016-06-20 12:48:34
원래의
1068명이 탐색했습니다.




图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错误。

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿