[PHP] exif_imagetype w PHP7 |
[PHP] exif_imagetype w PHP7 |
1.05.2018, 13:46:38
Post
#1
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Zmieniłem niedawno wersję PHP na 7 i nie działa mi funkcja exif_imagetype (mam wersje 5 i 7).
Cytat Fatal error: Call to undefined function exif_imagetype() Mam włączone poniższe rozszerzenia w podanej kolejności w php.ini: Cytat extension=php_mbstring.dll extension=php_exif.dll To pokazuje mi, że jest nieaktywna:
Co w efekcie pokazuje mi: Cytat Fatal error: Call to undefined function exif_imagetype() Co może być przyczyną, jakieś pomysły? -------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
1.05.2018, 14:35:13
Post
#2
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Sprawdź w katalogu, czy masz zainstalowaną tę bibliotekę z rozszerzeniem najprawdopodobniej ".dll". Jeśli nie masz to doinstaluj. Sprawdź też path, jeśli jesteś pod Windows. Możliwe, że podczas instalacji coś się nie powiodło, sprawdź w logach. Jeśli nie chcesz się w to "bawić", to możesz zainstalować gotowy pakiet, np. XAMPP. Lepiej jednak by było zainstalować to ręcznie od nowa. Mogło zdarzyć się też tak, że DLL'ka z PHP 5 nadpisuje DLL'kę z PHP 7, czy coś takiego. Chyba coś ci koliduje na serverze.
|
|
|
1.05.2018, 15:20:31
Post
#3
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Mam zainstalowany AppServ 8.6.0 i w obu folderach (5 i 7) są biblioteki tych rozszerzeń. Zanim napisałem posta, wszystko sprawdziłem i przeszukałem Google. Zrestartowałem serwer a potem i system i nadal nie widzi...
-------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
1.05.2018, 15:25:14
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 762 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
A phpinfo() widać to rozszerzenie?
-------------------- |
|
|
1.05.2018, 15:32:58
Post
#5
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Tak, obydwa.
Pokazuje nie... -------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
2.05.2018, 00:29:08
Post
#6
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Dodaj może zmienne środowiskowe do tego PHP 7 i jeszcze możesz wyrzucić chwilowo zmienną środowiskową PHP 5. Teraz właśnie zauważyłem, że to już pisałem w poście wyżej z tym path, chodziło mi właśnie o te zmienne środowiskowe, może pod Linuxem jest coś podobnego. Wejdź w:
Panel sterowania\System i zabezpieczenia\System -> Zaawanansowane ustawienia systemu (Właściwości systemu) -> Zaawansowane -> Zmienne środowiskowe -> Path i dodaj ścieżkę do tego katalogu z PHP 7. Co do sprawdzania, czy masz zainstalowane te rozszerzenie to wystarczy wykonać to: Jeśli zwróci false, to znaczy, że tego nie masz. Ten post edytował Neutral 2.05.2018, 00:31:41 |
|
|
2.05.2018, 05:46:31
Post
#7
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Mam bool(false), co wydaje się dziwne, bo nie działa zarówno pod PHP5 jak i pod PHP7. W katalogach biblioteki są, w php.ini odkomentowane, i phpinfo.php je widzi.
Co do Path: Cytat C:\AppServ\Apache2.2\bin C:\AppServ\php5 C:\AppServ\MySQL\bin C:\AppServ\Apache24\bin Może problemem była podwójna ścieżka do Apacha, do jego starej wersji... Po restarcie sprawdzę. -------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
2.05.2018, 10:35:03
Post
#8
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Kod ;extension=php_ldap.dll extension=php_mbstring.dll extension=php_exif.dll; Must be after mbstring as it depends on it extension=php_mysqli.dll ;extension=php_oci8_12c.dll; Use with Oracle Database 12c Instant Client U mnie pisze w komentarzu, że php_exif.dll korzysta z DLL'ki php_mbstring.dll, jeśli dobrze zrozumiałem, więc najprawdopodobniej ta DLL'ka powinna znaleźć się pod tamtą DLL'ką (w takiej kolejności jak ja mam). http://php.net/manual/en/configuration.changes.php https://superuser.com/questions/773173/how-...php-ini-windows Kod ;(...) engine=On ;(...) short_open_tag=Off ;(...) zlib.output_compression=Off ;(...) implicit_flush=Off ;(...) unserialize_callback_func= ;(...) serialize_precision=17 ;(...) disable_functions= ;(...) disable_classes= ;(...) zend.enable_gc=On ;(...) expose_php=On ;(...) variables_order="GPCS" ;(...) request_order="GP" ;(...) register_argc_argv=Off ;(...) auto_globals_jit=On ;(...) include_path=C:\xampp\php\PEAR ;(...) doc_root= ;(...) user_dir= ;(...) extension_dir="C:\xampp\php\ext" ;(...) enable_dl=Off ;(...) safe_mode_allowed_env_vars=PHP_ safe_mode_protected_env_vars=LD_LIBRARY_PATH ;(...) Nie napisałeś, czy używasz Linux'a, czy Windows'a. Kod ; UNIX: "/path1:/path2" ;(...) ; Windows: "\path1;\path2" ;(...) - Oznacza, że zamiast tego u mnie w pliku php.ini są komentarze albo jakieś instrukcje (konfiguracja). Sprawdź, czy DLL'ka php_exif.dll znajduje się w odpowiednim katalogu, do którego linkujesz, to znaczy sprawdź tę ścieżkę, żeby konfigurator, czy coś takiego widział, że ma pobierać/brać instrukcję z tej DLL'ki. U mnie to jest w: C:\xampp\php\ext Zapodam screen'a. Aha, sprawdź też, czy DLL'ka php_exif.dll nie jest pusta, u mnie waży 48KB. http://php.net/manual/en/ini.core.php#ini.extension-dir http://php.net/manual/en/function.getenv.php Cytat z mojego php.ini: Cytat ; If you only provide the name of the extension, PHP will look for it in its ; default extension directory. ; ; Windows Extensions ; Note that ODBC support is built in, so no dll is needed for it. ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+) ; extension folders as well as the separate PECL DLL download (PHP 5+). ; Be sure to appropriately set the extension_dir directive. https://www.elektroda.pl/rtvforum/topic1982499.html Może dodaj taką ścieżkę w tym Path: C:\AppServ A tamte chwilowo wyrzuć, skopiuj je z path i wklej np. do notatnika. Jeśli samo C:\AppServ pomogło, to już ich spowrotem nie wklejaj tam. Ten post edytował Neutral 2.05.2018, 11:18:51 |
|
|
2.05.2018, 18:30:12
Post
#9
|
|
Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że |
Mam Windows 10. Całą resztę opisałem w poprzednich postach. Sprawdziłem całą konfigurację i mam tak jak powinno być a nie działa. Spróbuję ponownie zainstalować serwer albo sprawdzę na innych kompach.
-------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
Wersja Lo-Fi | Aktualny czas: 13.05.2024 - 06:39 |