2016-07-28 16 views
0

Ich habe alles versucht, aber es scheint nicht einfach zu funktionieren.Google API PHP-Client Ärger

Ich benutzte diese Skripte gerne auf einem Bluehost-Hosting, bis ich mich entschied, auf Digital Ocean umzusteigen.

https://github.com/google/google-api-php-client/tree/1.1.4

https://github.com/asimlqt/php-google-spreadsheet-client/tree/2.3.5

baute ich eine benutzerdefinierte Funktion Tabellen zu lesen und es als eine Datenbank für einen Client zu verwenden, die die Fähigkeit der Website-Texte selbst zu bearbeiten benötigt.

Ich nahm einen Digital Ocean Ubuntu 14.04 Server, installierte Sentora Panel drauf, normaler PHP-Code funktioniert, aber speziell dieses Google API-Skript wirft diesen Fehler auf.

[Fri Jul 29 05:21:24.569294 2016] [:error] [pid 2429] [client 14.139.122.50:53019] PHP Warning: file_exists(): open_basedir restriction in effect. File(/tmp/Google_Client/5f/5fa67135f8773ebac807e4dda0aa1084) is not within the allowed path(s): (/var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in:/var/sentora/temp/) in /var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in/process/google/google-api-php/src/Google/Cache/File.php on line 52 
[Fri Jul 29 05:21:25.985927 2016] [:error] [pid 2429] [client 14.139.122.50:53019] PHP Warning: is_dir(): open_basedir restriction in effect. File(/tmp/Google_Client/5f) is not within the allowed path(s): (/var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in:/var/sentora/temp/) in /var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in/process/google/google-api-php/src/Google/Cache/File.php on line 148 
[Fri Jul 29 05:21:25.986025 2016] [:error] [pid 2429] [client 14.139.122.50:53019] PHP Warning: mkdir(): open_basedir restriction in effect. File(/tmp/Google_Client/5f) is not within the allowed path(s): (/var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in:/var/sentora/temp/) in /var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in/process/google/google-api-php/src/Google/Cache/File.php on line 149 
[Fri Jul 29 05:21:25.986373 2016] [:error] [pid 2429] [client 14.139.122.50:53019] PHP Fatal error: Uncaught exception 'Google_Cache_Exception' with message 'Could not create storage directory: /tmp/Google_Client/5f' in /var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in/process/google/google-api-php/src/Google/Cache/File.php:154\nStack trace:\n#0 /var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in/process/google/google-api-php/src/Google/Cache/File.php(139): Google_Cache_File->getCacheDir('ff3dffdeef0acdf...', true)\n#1 /var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in/process/google/google-api-php/src/Google/Cache/File.php(134): Google_Cache_File->getCacheFile('ff3dffdeef0acdf...', true)\n#2 /var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in/process/google/google-api-php/src/Google/Cache/File.php(95): Google_Cache_File->getWriteableCacheFile('ff3dffdeef0acdf...')\n#3 /var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in/process/google/google-api-php/src/Google/Auth/OAuth2.php(315): Google_Cache_File->set('ff3dffdeef0acdf...', '{"access_token"...')\n#4 /var/sentora/hostda in /var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in/process/google/google-api-php/src/Google/Cache/File.php on line 154 

Dies ist das Fehlerprotokoll, das ich erhalte. Ich habe nach Dateiberechtigungen gesucht, und habe es 777 an vielen Stellen und besonders im tmp-Ordner behalten, wie im Fehlerprotokoll erwähnt. Ich suche verzweifelt Hilfe dabei, jede Einsicht ist hilfreich.

Antwort

0

Ich löste dieses schön!

So wie ich Sentora wurde mit ich nach 'open_basedir Sentora' auf Google und fanden diese: http://forums.sentora.org/showthread.php?tid=1674

ich einen benutzerdefinierten vhost Eintrag gemacht:

  • Admin> Modul Admin (auf Sentora CP).
  • Apache Config (es ist die allererste Option).
  • Scrolled bis zum Ende der Seite und unter der Überschreibung eine virtuelle Host-Einstellung Ich wähle die Website, die ich wollte.
  • nun auf den Textbereich Eingang: Benutzerdefinierte Eintrag eingegeben ich folgendes:

    php_admin_value open_basedir keine

Und nun das Google Script funktioniert gut! Dank @ Unix-One's Antwort war ich auf dem richtigen Weg.

1

Genau wie die Fehlermeldung besagt, scheint php's open_basedir Einstellung das Skript daran zu hindern, die Dateien von /tmp Pfad zu lesen. Wahrscheinlich möchten Sie sich bei Ihrem Hosting-Provider erkundigen, ob Sie diese Einstellung ändern können, oder alternativ den temporären Pfad in Ihren Anwendungs-/Bibliothekseinstellungen in das Verzeichnis ändern, auf das Sie Zugriff haben.

+0

vielen Dank, ich bin auf einem selbstverwalteten Hosting (Digital Ocean), ich denke, ich muss diese php's open_basedir Einstellung selbst ändern, jede Einsicht, wie kann ich das tun? –