ホームページ >バックエンド開発 >PHPチュートリアル >thinkPHP ではファイルの問題が発生します。

thinkPHP ではファイルの問題が発生します。

WBOY
WBOYオリジナル
2016-06-20 12:48:341073ブラウズ




図 1 は、これらのファイルをアクションに導入したものです。図 2 は、以前はネイティブ呼び出しの実行に問題はありませんでした。ここでは紹介されていません。後でインポートを使用することはできません。助けてください。


ディスカッションへの返信 (解決策)

15 行目、'dirname(__FILE__)/protocl'

__FILE__ は文字列として解析できると思いますか? dirname(__FILE__) に分割します。 '/protocl'

インポート ファイルのパスが失敗しました。インポートされたファイルを確認してください

インポート パラメーターが間違っており、ファイルの配置が規則に従っていません。 import 規約

TP の仕様に準拠していませんが、引き続き require を使用できます

オブジェクトのインスタンス化時にエラーが発生したことについては言及していないため、インスタンス化が失敗したと想定できます。成功しました
したがって、インスタンスは、埋め込みファイルに推論できるステートメントが含まれています

メンバー関数への呼び出し.... というエラーの理由は、インスタンス化されたオブジェクトがグローバルであり、使用できないことです。 tp メソッド内で直接 (これは基本的な変数スコープの問題です)

15 行目、'dirname(__FILE__)/protocl'

__FILE__ は文字列で解析できると思いますか? dirname(__FILE__) に分割します。 '/protocl'

そうですね、この問題はこれまで見たことがありません。変更すると機能しません

インポート パラメーターが間違っています。ファイルの配置は import の規約に準拠していません

TP の仕様には準拠していませんが、require を引き続き使用できます

インスタンス化時にエラーについて言及していないため、オブジェクトが存在する場合、インスタンス化は成功したと想定できます
したがって、インスタンス化ステートメントが埋め込みファイルに含まれていると推測できます

エラーの理由 メンバー関数の呼び出し ...。インスタンス化されたオブジェクトはグローバルであり、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 now を使用すると次のプロンプトが表示されます: 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;}

クラス 'Ice_InitializationData' が見つかりません インクルード パスに問題がありますか? クラスのファイル名は正しいですか?

クラス 'Ice_InitializationData' が見つかりません インクルード パスに問題がありますか? クラスのファイル名は正しいですか?

インポートが正しく、パス ファイルとファイル名が正しいことを確認してください。ディレクトリ構造は 1 階にあります
上記のパスを絶対パスに変更します


ベンダー('Ice');

ベンダー('ZXIN.ZXINSserver') ;
vendor('ZXIN.ZXINUserInfoServant');
これらの依存関係ファイルをすべて ExtendVendor に配置すると、ページに 500 エラーが表示されます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。