Wygląda na to, że APC nie został zaktualizowany, aby pokrywał się z wydaniem php 5.4 (żałuję, że nie włączyli APC do rdzenia PHP, jak pierwotnie planowano).
Nie mogę znaleźć żadnej ostatecznej odpowiedzi na pytanie, czy obecny APC działa z php 5.4+. Udało mi się znaleźć pakiety Ubuntu dla php 5.4, ale pakiety php-apc nie zostaną zainstalowane.
php
installation
apc
Greywire
źródło
źródło
Odpowiedzi:
Zend OPCache zawarty w PHP 5.5
21 marca 2013 wydano PHP 5.5 beta 1, w tym „Zend OPCache” - wygląda na to, że będzie to następca APC w przyszłości, ponieważ jest on zawarty w rdzeniu PHP i będzie musiał być utrzymywany dla każdego nowego wydanie.
Osobiście radziłbym tym, którzy polegają na APC w zakresie buforowania kodu operacyjnego, aby przetestowali swój kod za pomocą nadchodzącej wbudowanej pamięci podręcznej kodu operacyjnego i zwrócili wszelkie napotkane problemy, aby zapewnić stabilne wydanie końcowe.
Nie wiem, co to oznacza dla przyszłości APC.
APC DLA PHP 5.4+ JEST WCIĄŻ FLAGOWANY JAKO BETA
Oznacza to, że programiści nie uważają go za całkowicie stabilny . Chociaż wiele osób nie ma żadnych problemów z obecnymi wersjami SVN, nadal istnieje dziwny raport o przypadkach skrajnych od ludzi w pewnych konfiguracjach lub pod dużym obciążeniem.
Jak ze wszystkim, co chcesz używać w środowisku produkcyjnym, upewnij się, że dokładnie przetestować każde uwolnienie (beta lub stabilnej) w rozwoju lub przedprodukcyjnej środowisk pierwszy . Obejmuje to testowanie obciążenia!
Począwszy od wersji 3.1.13, zmiany w repozytorium SVN nieco spowolniły, a lista błędów nie zawiera tak wielu ostatnich dodatków. Rób z tego, co chcesz.
Każdy, kto ma umiejętności C / gdb i ma trochę wolnego czasu, powinien przejrzeć listę błędów i sprawdzić, czy może coś naprawić lub ulepszyć ten darmowy produkt open source , na którym wszyscy polegamy.
Istnieją alternatywne rozwiązania, Wikipedia udostępnia listę akceleratorów PHP .
13 lutego 2013 roku Zeev Suraski ogłosił dostępność kodu źródłowego Zend Optimizer + .
Odbyła się dość długa dyskusja na temat integracji Zend Optimizer + z rdzeniem PHP w następnej głównej wersji (wersja po 5.5). W takim przypadku ludzie mogą chcieć zapoznać się z Zend Optimizer + z wyprzedzeniem.
Nie używaj APC 3.1.14
APC 3.1.14 został usunięty z pobierania PECL z powodu poważnych problemów z pamięcią, które zostały wykryte, ale nie zostały jeszcze wyśledzone.
Jeśli używasz już wersji 3.1.14, możesz chcieć obniżyć wersję do wersji 3.1.15. Pamiętaj, to wciąż jest wersja beta . Jeśli w ogóle go używasz, używasz go na własne ryzyko.
2013-01-02 :
Dostępny jest APC 3.1.14, dodający kompatybilność z PHP 5.5, a takżenaprawiającywiele innych błędów .Wciąż beta
2012-09-03 : Dostępny jest
APC 3.1.13 , naprawiający szereg błędów segfault .
16.08.2012 :
Utworzono tag APC 3.1.12 , ale nadal jest oznaczony jako beta , jest dostępny na stronie APC PECL , a także w dzienniku zmian .
Wiele błędów związanych z bin_dump zostało naprawionych tym razem.
2012-07-19 :
Utworzono tag APC 3.1.11 , ale jest on nadal oznaczony jako beta i jest dostępny na stronie APC PECL , a także w dzienniku zmian . Śledziłem odpowiednie listy mailingowe i nadal aktywnie pracują nad naprawieniem błędów APC, jednak jest to złożony moduł i niewiele osób wydaje się być na stanie sprostać temu zadaniu. To wydanie naprawia nieprzyjemne błędy stat = 0 podczas dołączania plików.
2012-04-11 : APC 3.1.10 tag powstał dzisiaj, a wersja beta 3.1.10 został umieszczony na stronie APC PECL
W changelog stanowi:
źródło
Od PHP 5.4.7 i APC 3.1.13 (a nawet łącza trunk APC SVN od 2012-09-19), chociaż jest „kompatybilny”, nie jest stabilny na serwerach z dużym obciążeniem, szczególnie jeśli używasz PHP- FPM i $ GLOBALS. Niektóre dyskusje deweloperów na temat APC dotyczą nierozwiązanych spraw dodatkowych .
Odpowiadam na to pytanie 6 miesięcy po tym, jak zostało to zadane, ponieważ problem nadal występuje, a napotkanie tego wątku bez odpowiedzi takiej jak moja jest tym, co sprawiło, że przeskoczyłem do PHP 5.4 z APC i się spaliłem. Miejmy nadzieję, że pomoże to ludziom uniknąć bólu.
źródło
Wygląda na to, że błąd „mógł” zostać naprawiony w najnowszej wersji pnia. Teraz działa z PHP 5.4.0.
svn co http://svn.php.net/repository/pecl/apc/trunk/ apc-trunk
cd apc-trunk
phpize
./configure
robić
dokonać instalacji
źródło
Nie, APC 1.3.9 (a od tego momentu nawet trunk svn) nie jest kompatybilny z php 5.4.0, wiem, ponieważ spędziłem godziny, próbując go uruchomić (testowałem różne svn / php. ini settings / compiler flags / you name it).
To po prostu śmieszne, APC jest jednym z najpopularniejszych rozszerzeń PHP i można by się spodziewać, że po tygodniach przeglądania 8 PHP 5.4 RC będą mieli czas, aby APC działało razem z nim.
Żałosne.
źródło
Cóż, próbuję przez ostatnie kilka dni i nie ma sposobu, abym mógł zmusić pamięć podręczną opcode do pracy z php 5.4. Xcache nie skompiluje się, a apc nie rozpozna niektórych klas po buforowaniu. Myślę, że to jest błąd, o którym mówi Simon.
Słyszałem, że w bagażniku było kilka poprawek, ale wypróbowałem także najnowsze źródła magistrali, ale te same błędy wracają. Myślę, że php bez pamięci podręcznej opcode (obecnie nie jest dostępna) nie jest godny produkcji. Mam nadzieję, że pracownicy apc naprawią to jak najszybciej.
AKTUALIZACJA!!!
Xcache 2.0.0-rc1 jest obecnie kompatybilny z php 5.4. Cieszyć się!
źródło
Znalazłem apcu http://windows.php.net/downloads/pecl/releases/apcu/
Może to jest apc dla x64 w systemie Windows. To (wersja 4.0.1) działało na mojej aplikacji.
źródło
Używam AMPPS z PHP w wersji 5.5.19. Od pewnego czasu dokładnie od wydania PHP 5.5 - APC jest zastępowane przez Zend OPCache, który jest zawarty w PHP 5.5 i nowszych. Teraz wszystko, co musisz zrobić, aby włączyć „APC” (obecnie „OPcache”), to edytować plik php.ini. Przed sekcją [XDebug] dodaj ciągłe wiersze:
php.ini
Pamiętaj, że musimy mieć dwa wystąpienia :
Jeden w sekcji [OPcache] i jeden w sekcji [XDebug]. Xdebug często nie jest dostarczany jako domyślny w instalacji serwera xampp / ampps / easyPHP. Możesz znaleźć się w sytuacji, w której będziesz musiał pobrać rozszerzenie Xdebug. Możesz to łatwo zrobić, używając aplikacji online, która definiuje właściwy Xdebug dla twojego php. Odwiedź http://xdebug.org/wizard.php i postępuj zgodnie z ich prostymi instrukcjami. Po pobraniu odpowiedniej wersji Xdebug dla Twojej wersji php - edytuj link do swojego zend_extension w sekcji [XDebug].
Proszę zanotować! że musisz dodać sekcję OPcache przed XDebug w swoim pliku php.ini !!! Jeśli podążasz za mną poprawnie, powinieneś mieć dwie instancje zend_extension w swoim pliku php.ini (jedną w sekcji OPcache i jedną w sekcji Xdebug).
Działa to doskonale dla frameworka Symfony2 i eliminuje komunikat z zaleceniem instalacji i włączenia APC dla twojego PHP i Xdebug.
Wiadomość do tych, którzy uruchomili symfony 2 i usunęli ostrzeżenie z "web / config.php", ale nadal napotykają problem, uruchamiając z linii poleceń "php app / check.php". Jeśli tak się stanie, oznacza to, że Twoja konsola używa innego pliku php.ini. Zmień zmienną systemową PATH - wskaż właściwy katalog php (gdzie masz plik php.exe i który jest używany przez twój lokalny serwer).
Jeśli potrzebujesz głębszego wyjaśnienia, daj mi znać w komentarzu poniżej. Pozdrowienia.
źródło
Wydaje się, że jest jeszcze kilka problemów do rozwiązania. Sprawdź błędy, a być może będziesz w stanie dowiedzieć się, jakie jest rozwiązanie Twojego konkretnego problemu.
Miałem do czynienia z jednym takim błędem kilka godzin temu i okazało się, że użycie APC z pnia SVN było najlepszym rozwiązaniem. Mam nadzieję że to pomoże!
źródło
Odkryłem, że musisz wyczyścić pamięć podręczną kodu operacji na każdym żądaniu strony, w przeciwnym razie klasy, które implementują interfejsy, nie ładują się. Zostało to skompilowane z najnowszego łącza svn, Apache 2.4.1, PHP 5.4.0.
źródło
APC - niezalecane
Osobiście nie używałem APC z PHP 5.4 lub PHP 5.5, ale najnowszy stabilny APC nie jest kompatybilny z PHP 5.4, najnowsza beta APC może być używana z 5.4, ale napisano, że nadal ma negatywne problemy z APC.
Jeśli masz PHP 5.5,
po prostu użyj Zend Opcache . Jest po wyjęciu z pudełka, więc problemy są minimalne.
Jeśli masz PHP 5.4
, polecam XCache . Jest w pełni kompatybilny z PHP 5.4 i 5.5. Aktywnie rozwijany. Ostatnia stabilna wersja została wydana 3,5 miesiąca temu (10 października 2013). Poprawia wydajność, nawet jeśli używasz fastcgi.
źródło
Zend OPCache jest zawarty w PHP 5.5 pod nazwą php_opcache.dll w katalogu php / ext. Aby go aktywować:
źródło
APC ma nową wersję: 3.1.14 od 2 stycznia, która rozwiązuje niektóre błędy: http://pecl.php.net/package/APC
Jednak używałem PHP 5.4.x z APC 3.1.13 z repozytorium dotdeb bez żadnych problemów do tej pory, więc powiedziałbym, że jest stabilny. dotdeb poinformował mnie również, że zaktualizowaną wersję APC dołączą do następnej wersji PHP, która ma być 5.4.11.
źródło
Eksperymentujemy z błędami bez pamięci (segfault apache) w PHP 5.4.26 i APC 3.1.9. W PHP 5.4.X jest otwarty błąd dla APC: https://bugs.php.net/bug.php?id=61934
Nie polecam używania tej wtyczki na PHP> 5.3.
źródło
W XAMPP w wersji 5.6.3 (PHP 5.6.3) wszystko, co musisz zrobić w swoim ini.php, to:
Konfiguracja frameworka symfony2.
źródło