Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] sprawdzanie czy plik .php nie zawiera błędów
vodkon
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 8.02.2011

Ostrzeżenie: (0%)
-----


Witam czy istnieje wydajny sposób aby skrypt sprawdził czy plik jest wykonywalny przez serwer i jeśli jest bezbłędny to załącza go do aplikacji (include/require) jeśli zawiera błędy to zostaje zignorowany i skrypt dalej się wykonuje (Sprawdzanie błędów typu Warning,Fatal error,Parse error).

Pozdrawiam!
Go to the top of the page
+Quote Post
NickOver
post
Post #2





Grupa: Zarejestrowani
Postów: 332
Pomógł: 10
Dołączył: 13.03.2014
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Chyba wiem co chcesz zrobić. Według mnie najlepiej było by mieć jakiegoś crona który co jakiś czas sprawdzał by wszystkie pliki z folderu. Następnie sprawdzał w bazie czy zostały już one sprawdzone. Jeśli jakiś nie został to wykonać go przez shell_exec i sprawdzić output pod kontem tego co Cię interesuje (errory, warningi itp.) Jeśli nic nie ma to dodać do bazy jako sprawdzony. Następnie tam gdzie chciałbyś je includować pobrać wszystko z bazy i includować. Problem byłby tylko z fatal errorami, nie wiem czy shell_exec by je przechwycił jako output. Jeśli nie to pewnie można je w jakiś inny sposób wyłapać.
Go to the top of the page
+Quote Post
kapslokk
post
Post #3





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


A ja w ogóle nie widzę sensu takiego sprawdzania. Co to ma na celu?
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


http://php.net/manual/en/function.php-check-syntax.php#80878
Go to the top of the page
+Quote Post
vodkon
post
Post #5





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 8.02.2011

Ostrzeżenie: (0%)
-----


Chciałbym przy niektórych projektach pracować przy uruchomionym serwisie np. wyłączając dostęp do określonego modułu (kiedy plik zawiera błędy), zależy mi też na umożliwieniu pracy wieloosobowej. Nie musi być to rozwiązanie uruchomione non-stop leczy tylko podczas prac technicznych. Jeśli znacie lepsze rozwiązania bardzo proszę o podzielenie się nimi.

Pozdrawiam



@Pyton_000 sprawdzę twój przykład z php.net

Ten post edytował vodkon 23.06.2016, 13:57:30
Go to the top of the page
+Quote Post
kapslokk
post
Post #6





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


1. Nie programuje się na serwerze produkcyjnym.
2. Do pracy wieloosobowej jest git.
Go to the top of the page
+Quote Post
vodkon
post
Post #7





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 8.02.2011

Ostrzeżenie: (0%)
-----


Jest to serwer testowy udostępniony okreslonym testerom
Nie pytam co się robi a co nie tylko chodzi o rozwiązanie gdzie część aplikacji jest już testowana a reszta w trakcie . Bez bawienia się większego

Ten post edytował vodkon 23.06.2016, 17:11:32
Go to the top of the page
+Quote Post
LowiczakPL
post
Post #8





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

Ostrzeżenie: (0%)
-----


Jeśli zależy Ci na wyłączeniu modułów aplikacji dla określonej grupy to rozumiem że chodzi jedynie o WIDOK / MENU

Ja robię to na zasadzie praw dostępu, po zalogowaniu albo i nie, dany user widzi to co ma zobaczyć.

Prawa ustawiam w ruterze albo dla widoku menu.

Cytat(vodkon @ 23.06.2016, 14:56:34 ) *
Chciałbym przy niektórych projektach pracować przy uruchomionym serwisie np. wyłączając dostęp do określonego modułu (kiedy plik zawiera błędy), zależy mi też na umożliwieniu pracy wieloosobowej. Nie musi być to rozwiązanie uruchomione non-stop leczy tylko podczas prac technicznych. Jeśli znacie lepsze rozwiązania bardzo proszę o podzielenie się nimi.
Pozdrawiam
@Pyton_000 sprawdzę twój przykład z php.net



--------------------
Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
Go to the top of the page
+Quote Post
vodkon
post
Post #9





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 8.02.2011

Ostrzeżenie: (0%)
-----


LowiczakPL Nie. Zależy mi na czysto programowym sprawdzaniu plików które są dołączane do systemu żeby wyeliminować błędne pliki żeby system mógł się wykonać bez nich tak aby moduły wykorzystujące niedziałające pliki lub same moduły skrypty które zawierają błędy były wyeliminowane najlepiej z funkcją z logowania błędów (chodzi o wykrycie resztę zrobię tak aby informacje o błędach były dostępne tylko grupie użytkowników będących programistami w systemie)
Go to the top of the page
+Quote Post
viking
post
Post #10





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Pod względem składni sprawdzić to nie problem. Ale co z zaleznosciami? Jeśli twój system ma jakieś zależności autoloadera, moduł wczytuje klasy to jedynym sposobem jest wykonać aplikację albo zrobić zwykłe testy. Co w sytuacji gdy moduł rzuca wyjątek i jest przechwytywany przez aplikację z błędem 400 (czyli system poprawnie zareagował) albo sam programista loguje i zwraca false?

Ten post edytował viking 25.06.2016, 05:32:55


--------------------
Go to the top of the page
+Quote Post
LowiczakPL
post
Post #11





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

Ostrzeżenie: (0%)
-----


Ale jak chcesz wykonać aplikację bez plików niezbędnych do jej działania, jak wywali Ci błąd w połączeniu z bazą danych to co odcinasz klasy od łączenia z bazą i System Ci się odpali i ładnie pokaże zawartość serwisu.

Jak masz błąd w klasie wczytującej konfigurację systemu to co odcinasz wczytywanie klasy i odpalasz system tak?

Po co Ci to jest potrzebne tak naprawdę?

To wtedy może da radę pomóc.


--------------------
Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 11:30