Intereting Posts
PHP Предупреждение: mysqli_fetch_assoc () ожидает ровно 1 параметр, 3 заданный в PHP preg_replace: Устаревший Автозагрузчик ZF2: используйте фабрику для базового класса на расширенных классах Ошибка Количество столбцов не совпадает со значением в строке 1? Как я могу увидеть фактический XML, созданный PHP SOAP Client Class? Пользовательский агент SimpleXML Как сохранить вложение изображений из электронной почты с помощью IMAP и PHP? Разрешения на работу и папки Cron – разрешение отклонено как получить разрешение экрана пользователя с помощью PHP Использование php для проверки типа файла MIME, загруженного через форму Создание миграции из существующей базы данных в Yii или Laravel Как получить массив объектов строки из моего результата в подготовленном запросе mysqli Вставка изображения с помощью PHP и FPDF, не удалось загрузить большое изображение Динамическое расширение нагрузки Laravel 5.2 Вспышка сеанса не работает даже с веб-промежуточным программным обеспечением

require_once в клиенте API Google для PHP

Я пытаюсь импортировать / включать файл в файл php-скрипта и как-то он не работает. Я знаю, что этот вопрос require_once задан так много раз [ 1. require_once с вложенными папками , 2. require_once () не может найти путь включения , 3. Использование require_once для неработающей директории ], но никто из них, похоже, не работал для меня.

Ударная картина объяснит, что я пытаюсь сделать ясно: введите описание изображения здесь

Что я пробовал и ошибки:

Попытка 1

 require_once(__DIR__.'GoogleClientApi/src/Google/Service/Analytics.php'); echo 'Hey1'; //Does not echo this, means something went wrong above. require_once(__DIR__.'GoogleClientApi/src/Google/Client.php'); echo 'Hey2'; 

введите описание изображения здесь

Ошибка:

введите описание изображения здесь

Попытка 2 (Исправлена ​​проблема с попыткой 1, но возникла еще одна проблема.)

Поэтому я решил использовать абсолютный путь:

 include '/Applications/MAMP/htdocs/GoogleClientApi/src/Google/Client.php'; echo 'Hey1'; include '/Applications/MAMP/htdocs/GoogleClientApi/src/Google/Service/Analytics.php'; echo 'Hey2'; 

Дает мне ошибку в файле Client.php:

 `Warning: require_once(/Google/Auth/AssertionCredentials.php): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/GoogleClientApi/src/Google/Client.php on line 18` `Fatal error: require_once(): Failed opening required '/Google/Auth/AssertionCredentials.php' (include_path='.:/Applications/MAMP/bin/php/php5.5.10/lib/php') in /Applications/MAMP/htdocs/GoogleClientApi/src/Google/Client.php on line 18` Investigating upon I found Client.php (of Google APIs Client Library for PHP) has these lines which are actually present: require_once 'Google/Auth/AssertionCredentials.php'; // <-- Can't find require_once 'Google/Cache/File.php'; // <-- Can't find require_once 'Google/Cache/Memcache.php'; // <-- Can't find 

введите описание изображения здесь

Я не понимаю, что здесь происходит. Исправлена ​​ошибка с попыткой 1, но теперь ошибки находятся в собственной библиотеке Google, которую я не знаю, как ее преодолеть. Я предполагаю, что делаю что-то глупое, чего не могу понять. Любая помощь или предложение будут оценены.

Solutions Collecting From Web of "require_once в клиенте API Google для PHP"

Вы когда-нибудь бросали __DIR__ ? Обычно нет / в конце. Поэтому вам придется изменить свой код на это:

 require_once(__DIR__.'/GoogleClientApi/src/Google/Service/Analytics.php'); ^ 

Я только что проверил на вашем снимке экрана сообщение об ошибке , в конце нет.

/Applications/MAMP/htdocsGoogleClientApi/src/Google/Client.php вместо /Applications/MAMP/htdocs/GoogleClientApi/src/Google/Client.php

Оказывается, мне пришлось установить путь включения, чтобы включить корневой каталог (папку src), используя эту строку:

 set_include_path("/Applications/MAMP/htdocs/GoogleClientApi/src/"); 

Это работало для меня в Client.php

 set_include_path(__DIR__.'/../' . PATH_SEPARATOR . get_include_path());