OpenID kütüphane dosyaları (komut dosyası tarafından bulunmayan dahil)

4 Cevap php

Ben sitenize entegre OpenID işlevselliğini uygulamak için çalışıyorlar. Ben JanRain kütüphanesini indirildi.

Ben sınıfları dizininde 'auth' klasörünü ayıklanır ve ben dahil dizinde try_auth.php, finish_auth.php, common.php dosyası oluşturulur 'örnek' klasöründe örneğini izleyerek.

Ben OpenID seçici linke tıkladığınızda Artık dosya bulunamadı 'openid.php' diyor bir hata mesajı ile duyuyorum.

Bu dosya Auth dizinde mevcut.

Ben düzeltilmiş ve sonra ben 'Auth / Yadis / HTTPFetcher.php bulunamadı' diyor, farklı bir hata ile sunulmaktadır duyuyorum.

Oturup tek tek auth klasördeki her dosya gerektiren yolunu değiştirirseniz o zaman uzun bir zaman alacaktır.

my apps directory structure is like this
app
  classes
     Auth (openid library)
  config
  elements
  includes
  views
  webroot
  index.php

Ben ne yanlış yapıyorum bana yardımcı olun. Tüm dosyaları otomatik olarak kendi yollarını almak böylece nasıl includepath kurarım.

Teşekkürler

4 Cevap

as the documentation states (bir versiyonu söz yok, bu yüzden size 2.xx kullanarak varsayarak yaşıyorum), bu pakette Auth/ dizini PHP {[(2 olmak zorundadır )]}. Bunu yapmak için various ways vardır: php.ini, httpd.conf / .htaccess, ini_set(), ... Eğer apps dizin olmak üzere, sizin php.ini bunu /path/to/your/app, bu gibi görünecektir:

; UNIX: "/path1:/path2"
include_path = ".:/php/includes:/path/to/your/app/classes"
;
; Windows: "\path1;\path2" or "c:/path1;c:/path2"
;include_path = ".;c:/php/includes;c:/path/to/your/app/classes"

Dosyaları sadece doğru yolu ayarlama değil vardır.

You said this is the path it's looking fveya 'Auth/Yadis/HTTPFetcher.php' You might need to add the full path, something like this:

/var/www/html/whaterver/Auth/Yadis/HTTPFetcher.php

veya

/this/is/where/you/put/the/path/to/the/file/Auth/Yadis/HTTPFetcher.php

sadece temel yolu bulmak ve dosya yoluna onu eklemek için bu komutu yapmak

echo `pwd`;

NOT: Bu backticks pwd 'komutunu etrafında tek tırnak değil

EDIT:

Sadece senin Betiğinize içine dahil etmeye çalışmaktadırlar dosyasına bu eklemeniz gerekir.

ÖRNEK:

dosya burada: / var / www / html / index.php

ve burada bu dosyayı eklemek gerekir: / classes / paket / files.php

. Bu dosya: tüm diğer dosyaları bu paket gelir, bu nedenle bu herhangi düzenlemek için gerek nerede / sınıfları / paket / files.php biliyorum

Ama / var / www / html / index.php dosyasını düzenlemek ve bir şey eklemek gerekiyor bu yalan:

include('/var/www/html/classes/packages/files.php');

Eğer komut bu aldıktan sonra her şey nerede olduğunu bilmeli.

veya as @ax has stated this looks to be a php.ini configuration

Umarım bu yardımcı olur

Do bir getcwd bulunduğunuz dizini bulmak ve uygun olanı chdir (s) sorununuzu çözmek için yapmak. Bu kirli bir çözüm ama bir az çaba ile çalışması gerekir.