मैं अपनी वेबसाइट की लॉगिन प्रणाली को LightOpenID से Google के Oauth 2.0 में अपडेट कर रहा हूं।Oauth2 लॉगिन कार्यान्वित करना, घातक त्रुटि: कक्षा 'Google_Service' नहीं मिली
जब मैं Client.php और सेवा की आवश्यकता होती है/Oauth2.php मैं एक त्रुटि
Fatal error: Class 'Google_Service' not found in /home/myname/repos/website_current/lib/google-api-php-client/src/Google/Service/Oauth2.php on line 32
कोड मैं (मेरे login.php फ़ाइल से) का उपयोग कर रहा इस
require_once(dirname($_SERVER['DOCUMENT_ROOT']).'/lib/autoload.php');
require('Google/Client.php');
require('Google/Service/Oauth2.php');
echo "exit";
exit();
तरह लग रहा है मिल
मैं (/etc/php5/apache2/php.ini में) php.ini में शामिल पथ को शामिल किया है के रूप में
include_path = ".:/usr/local/lib/php:/home/myname/repos/website_current/lib/google-api-php-client/src"
तो इसकी मेरी OAuth2 लगता है .php फ़ाइल किसी अन्य में शामिल नहीं हो सकती है जिसमें 'Google_Service' श्रेणी शामिल है जो 'Service.php' में एक फ़ोल्डर है।
मेरे फ़ोल्डर संरचना इस तरह दिखता है:
lib/
... autoload.php
... functions.php
... google-api-php-client/
... src/
... Google/ (etc etc)
public_html/
... login/
...login.php
मुझे पता नहीं क्यों यह उत्पन्न कर रहा है। पथ शामिल होना चाहिए, और phpinfo() का उपयोग कर एक शामिल पथ के रूप में दिखाई देता है; क्या कोई मुझे कुछ अंतर्दृष्टि दे सकता है?
मुझे भी autoload.php की आवश्यकता है। इसे उपरोक्त कोड में जोड़ने के लिए भूल गए (उपरोक्त संपादन देखें)। क्या autoload एक specfiic जगह में होना चाहिए? शायद Oauth2.php फ़ाइल कक्षाओं को ठीक से लोड नहीं कर सकती है? – Gambles