私はこのエラーを参照していますが、一般的な問題はinclude()またはrequire() BEFORE session_start()。php "スクリプトがメソッドを実行しようとしました、または不完全なオブジェクトのプロパティにアクセスしようとしました"エラー
しかし、これは私の場合ではありません。
私は、次のエラーを取得しています:
致命的なエラー:Zend_Http_Clientの::リクエスト()[Zendの-HTTP-client.request]:スクリプトは、メソッドを実行したり、不完全なオブジェクトのプロパティにアクセスしようとしました。////ホーム/コンテンツでクラス定義をロードするために呼ばれるか__autoload()関数を提供します)あなたが上で動作しようとしているオブジェクトのクラス定義" Zend_Http_Client_Adapter_Socketを"は(前にアンシリアライズロードされたことを確認してください*/*****/html/ZendGdata-1.8.4PL1/library/Zend/Http/Client.php on line 865
なぜか?ここで
は3つの関連ファイルです:login.php、members.php、とのfunctions.php ...login.php:
$newIncludePath = array();
$newIncludePath[] = '../ZendGdata-1.8.4PL1/library';
$newIncludePath = implode($newIncludePath);
set_include_path($newIncludePath);
// load classes
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Calendar');
Zend_Loader::loadClass('Zend_Http_Client');
Zend_Loader::loadClass('Zend_Gdata_AuthSub');
session_start();
$serviceName = Zend_Gdata_Calendar::AUTH_SERVICE_NAME; // predefined service name ('cl') for calendar
$applicationName = 'yourCompany-yourAppName-v1';
// Create an authenticated HTTP client
$httpClient = Zend_Gdata_ClientLogin::getHttpClient('*****@gmail.com', '*****', $serviceName, null, $applicationName);
$client = new Zend_Gdata_Calendar($httpClient, $applicationName); // Create an instance of the Calendar service
$_SESSION['gdataCal'] = $client;
members.php:
$newIncludePath = array();
$newIncludePath[] = '../ZendGdata-1.8.4PL1/library';
$newIncludePath = implode($newIncludePath);
set_include_path($newIncludePath);
// load classes
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Calendar');
Zend_Loader::loadClass('Zend_Http_Client');
Zend_Loader::loadClass('Zend_Gdata_AuthSub');
session_start();
$g_url = add_gcal($_SESSION['gdataCal'], $_SESSION['title'].....etc.);
functions.php:
<?php
$newIncludePath = array();
$newIncludePath[] = '../ZendGdata-1.8.4PL1/library';
$newIncludePath = implode($newIncludePath);
set_include_path($newIncludePath);
// load classes
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Calendar');
Zend_Loader::loadClass('Zend_Http_Client');
session_start();
function add_gcal($gdataCal, $title....etc.){
try {
$newEvent = $gdataCal->newEventEntry();
$newEvent->title = $gdataCal->newTitle($title);
$newEvent->where = array($gdataCal->newWhere($where));
$newEvent->content = $gdataCal->newContent("$desc");
$when = $gdataCal->newWhen();
$when->startTime = $date;
$when->endTime = $date;
$newEvent->when = array($when);
$createdEvent = $gdataCal->insertEvent($newEvent);
return $createdEvent->id->text;
} catch (Zend_Gdata_App_Exception $e) {
return NULL;
}
}
それを修正しました、ありがとう! – littleK
クラスをロードする前に明示的に 'session_start()'を呼び出さずに '$ _SESSION'を変更しても、この動作が起こることを発見しました。 – jray