![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 24.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
witam
Używam pewnego obiektu COM.
Utworzenie go i "otwarcie" zajmuje sporo czasu, a gdy przetwarzanie po stronie serwera dojdzie do końca uruchomiony zostaje destruktor i obiekt jest zamykany. Przy następnym przeładowaniu strony znów muszę tworzyć ten obiekt i go otwierać i znów zajmuje to sporo czasu. Próbowałem go serializować i przesyłać ( przesyła dokładnie >> O:3:"com":0:{} << ), ale zostaje zamykany ten obiekt i już nie można go dalej używać przy następnym przeładowaniu strony. Czy jest może jakiś patent na to? Dziękuję za wszelką pomoc i sugestie |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 24.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję za odpowiedzi.
Przepraszam, że dopiero teraz odpowiadam - już miałem zjazd na studiach. Właśnie zapisywanie do sesji ( $_SESSION ) nie udaje mi się. Tzn. coś tam zapisuje w tej zmiennej (dokładnie: >> O:3:"com":0:{} << ) ale nie mogę go użyć po przeładowaniu, ponieważ na końcu uruchamia się destruktor i on najprawdopodobniej zamyka obiekt, przez co trzeba go jeszcze raz otwierać. Już biorę się za czytanie o __sleep() i __wakeup() , i poinformuję o wynikach :-) edit: Ten obiekt COM-mowy nie jest chyba raczej dostosowany do używania go przez PHP I nie ma funkcji __sleep(int).
wynik: Call to undefined method com::__sleep() Czy mam go obudować w jakąś klasę i sam napisać metody __sleep() i __wakeup() ? Jeżeli tak - to nadal nie wiem jak zrobić, aby ten obiekt nie był zamykany między przeładowaniami, ponieważ to właśnie otwarcie tego obiektu zajmuje najwięcej czasu. A z tego co czytałem to metoda __sleep() zamyka obiekt a __wakeup() otwiera powtórnie. A otwarcie powtórne to jest to, czego chcę uniknąć. A można jakoś zrobić, aby destruktor nie był wywoływany na końcu strony, wcale nie był uruchamiany? Ten post edytował m10 27.09.2010, 08:03:54 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 13:22 |