Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Brakujący moduł PHP
Forum PHP.pl > Forum > PHP
simmac
Cześć,
tworzymy aplikację - alternatywny system prywatnej poczty - w PHP i JS. Wykorzystujemy szyfrowanie (end-to-end, podpisy, etc) i musimy korzystać z arytmetyki na dużych liczbach w PHP. Korzystamy z modułu php_gmp, ale często mamy informacje od użytkowników, że na ich serwisach hostingowych ten moduł nie jest zainstalowany.

Dlatego mamy pytanie: czy wiecie coś może o dostępności php_gmp u róznych providerów hostingu?
A może znacie jakąś stronę lub narzędzie, które pokazuje informacje nt. dostępności różnych modułów PHP na róznych hostingach? Takie zestawienie byłoby przydatne przy podejmowaniu decyzji jaki moduł matematyczny uzyć w aplikacji ...

My teraz prawdopodobnie musimy pomysleć o wykorzystaniu również php_bcmath jako fallback'a. Ten moduł jest wielokrotnie wolniejszy, ale (chyba) jest popularniejszy...
(na razie sprawdziliśmy 5 dużych hostingowni .. może w sumie tę informację gdzies opublikujemy..)

Z góry dziękujemy za wszelkie informacje odnośnie php_gmp,
PrivMX WebMail - https://privmx.com

trzczy
Lepiej se wynajmijcie vps i zainstalujcie php jak się wam podoba.
r4xz
Cytat(trzczy @ 6.12.2017, 21:41:43 ) *
Lepiej se wynajmijcie vps i zainstalujcie php jak się wam podoba.

Autorowi raczej nie chodzi o system typu SaaS, po prostu daje klientom możliwość instalacji na własnych serwerach i wiadomo jak to z PHP jest - w wielu przypadkach kończy się na hostingu zamiast "prawdziwym" serwerze.
simmac
Faktycznie, przepraszam, nie napisałem - nasza aplikacja (PrivMX WebMail) dystrybuowana jest w postaci ZIPa (tj Wordpress np) - instaluje się ją na własnym serwerze.
Dlatego interesuje nas "popularność" modułu php_gmp pośród firm hostingowych ...
viking
Moim zdaniem występuje sporadycznie i lepiej na nim nie polegać.
simmac
Dla osób borykających się z podobnym problemem -- sprawę załatwilismy ostatecznie poprzez napisanie wrappera dla gmp i bcmath -- kod udostępniliśmy tutaj: https://github.com/simplito/bigint-wrapper-php (licencja MIT). W zasadzie mamy święty spokój, ale różnica na serwerach, które mają tylko bcmath jest odczuwalna.
Pozdrawiam!
Pyton_000
a https://packagist.org/packages/pear/math_biginteger
Dyzma
Abstrahując od tematu, jeżeli udostępniacie coś dla innych to moglibyście pokusić się o użycie jakiegoś wzorca projektowego chociażby Factory. Tam sprawdzać warunek i zwracać odpowiednią klasę, bo teraz to są smutne klasy w if-ach smile.gif Dla waszej struktury także to wyjdzie na dobre i będzie bardziej czytelne.
Standardem jest także to że, nie używa się lib tylko src.
Pyton_000
Abstrahując od tego co napisał @Dyzma to faktycznie smutna ta libka. Testy jakieś takie nie testowe smile.gif

Polecam: http://phppackagechecklist.com
simmac
Ale się wystawiliśmy tym szybkim rozwiązaniem naszego problemu z gmp/bcmath smile.gif
Panowie i Panie, faktycznie, poprawić musimy kilka rzeczy w tym repozytorium.
  • Po pierwsze i najważniejsze: opis, bo nie napisaliśmy jasno co było celem takiej, a nie innej implementacji - otóż celem była głównie prostota i wydajność. Oczywiście znamy i używamy różnego rodzaju "wzorce projektowe", ale tutaj, w tym w zasadzie lowlevelowym phpowym kodzie postanowiliśmy wykorzystać cechy PHP - phpowy wzorzec projektowy pt. "preprocessor", że sie tak wyrażę. smile.gif Ten kod wołany jest w naszej aplikacji bardzo często i naszym zdaniem nie ma w nim miejsca na jakiekolwiek dodatkowe narzuty typu np. mechanizm factory. Takie były cele i założenia.
  • Po drugie i trzecie: faktycznie, testy można zrobić przy użyciu jakieś popularnej maszyny do testowania, a i kod zamiast w lib możemy umieścić w src.

Odpowiednie zmiany trafią zapewne prędzej czy później do repo na githubie. Kod ma liberalną licencję - zawsze można wcześniej zrobić sobie forka i uporządkować to, co w oczy dziaboli. smile.gif
Dzięki za Wasze komentarze!
franki01
Odnośnie zainstalowanych modułów na serwerach hostingowych. U jednego dostawcy poszczególne serwery mogą różnić się konfiguracją - nikt Ci nie zrobi listy smile.gif Czasem usługodawcy hostingowi potrafią doinstalować jakiś moduł na serwerze od ręki, jeśli wyśle się prośbę - nikt tego nie monitoruje.

Jeśli korzystasz z niestandardowych modułów, możesz zrobić pewnego rodzaju jednoplikową "sprawdzajkę", jakie moduły są zainstalowane na serwerze. Ktoś wrzuca na serwer pliczek na serwer, odpala przez przeglądarkę i pokazuje mu:

php-bcmath - AVAILABLE
php-gmp - NOT AVAILABLE
itd.

A najlepszym rozwiązaniem przy gotowcach udostępnianych publicznie jest nie korzystać z niestandardowych bibliotek.
simmac
Cytat(franki01 @ 5.04.2018, 00:02:48 ) *
(...) możesz zrobić pewnego rodzaju jednoplikową "sprawdzajkę", jakie moduły są zainstalowane na serwerze. (...)


tak właśnie działa nasz instalator - https://privmx.com/pl/download

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.