Harmonogram zadań Windows a PHP + CURL
W życiu każdego kto zajmuje się pozycjonowaniem programowanie nieustannie przenika się z SEO. Prawda jest taka, że nie umiejąc choć trochę programować, wszystko trzeba robić czasami nawet kilka razy dłużej. Nie inaczej jest w przypadku tworzenia zaplecza – możemy wszystko tworzyć ręcznie, a możemy też starać się zautomatyzować wszystko do granic możliwości.
Ostatnimi czasy, stworzyłem skrypt który wspomoże mnie w tworzeniu zaplecza – skrypt wykorzystuje bibliotekę curl. Jako że o zrobienia ma sporo, musi być wywoływany w czymś a’la cron – do tego akurat świetnie nadaje się windowsowy harmonogram zadań. Ale tutaj niespodzianka – skrypt działający idealnie z poziomu przeglądarki, po uruchomieniu z harmonogramu zadań Windowsa nie działa jak należy. Zacząłem rozbijać skrypt na części pierwsze, analizować, wypisywać potencjalne wystąpienia błędów i nic – wszystko wydawałoby się że działa jak należy. Zacząłem podejrzewać, że z jakiegoś powodu system Windows blokuje połączenia curl z powodu jakiejś dziwnej polityki bezpieczeństwa przy uruchamianiu skryptów z Harmonogramu zadań.
Nic bardziej mylnego – po jakiejś godzinie analizy skryptu w końcu znalazłem przyczynę. Po zapisaniu zawartości phpinfo przy wywołaniu skryptu poprzez Harmonogram Zadań i jego analizie okazało się, że używany jest zupełnie inny plik php.ini niż w przypadku wywołania skryptu normalnie z poziomu przeglądarki. Jak się okazało w owym pliku php.ini biblioteka curl nie była włączona i to było przyczyną problemów i straty godziny czasu.
Swoją drogą bardzo dziwne, że ten sam skrypt korzystający teoretycznie z tego samego serwera z php wykorzystuje 2 różne pliki php.ini w przypadku uruchamiania z poziomu przeglądarki i przy uruchamianiu przez Harmonogram zadań. Ale cóż – to nie pierwszy przypadek, że coś co niby nie powinno mieć miejsca zdarza się.
Wniosek na przyszłość – zawsze sprawdzać z jakiego pliku php.ini korzysta skrypt przy wywoływaniu z Harmonogramu zadań, bo może się okazać, że połowa ustawień której normalnie używamy w tym pliku jest zupełnie inna i stracimy sporo czasu na szukanie błędu, którego tak naprawdę nie ma…
If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.

Comments
Nikt tego jeszcze nie skomentował.
Niestety, skomentowanie tego wpisu jest niemożliwe.