Toon posts:

Hostingprovider nodig die PHP/Mysql volledig ondersteunt

Pagina: 1
Acties:

Acties:
  • +1Henk 'm!

  • lawkexarib
  • Registratie: Maart 2009
  • Laatst online: 02-03 21:39
Zoals het onderwerp aangeeft, ben ik opzoek naar een hostingprovider die PHP/MySql volledig ondersteunt.

Momenteel host ik mijn website bij Strato en deze heeft Mysql native driver niet geïnstalleerd en dit willen zij helaas ook niet doen.
En juist deze driver heb ik nodig om prepared statement in PHP uit te kunnen voeren.

Alvast dank voor het meedenken.

Acties:
  • 0Henk 'm!

  • Vaenir
  • Registratie: Februari 2018
  • Laatst online: 16-03 17:23
Wat is een MySQL native driver? Bedoel je PDO? Geen ervaring met Strato maar ik zie dat ze Wordpress etc ondersteunen, lijkt me sterk dat je met PHP geen verbinding kan maken met MySQL. Anders maak een LAMP/LEMP vps aan op iets als digitalocean.com/vultr.com. Kan je alles doen en laten wat je wilt.

Acties:
  • 0Henk 'm!

  • lawkexarib
  • Registratie: Maart 2009
  • Laatst online: 02-03 21:39
Vaenir schreef op zondag 7 maart 2021 @ 00:13:
Wat is een MySQL native driver? Bedoel je PDO? Geen ervaring met Strato maar ik zie dat ze Wordpress etc ondersteunen, lijkt me sterk dat je met PHP geen verbinding kan maken met MySQL. Anders maak een LAMP/LEMP vps aan op iets als digitalocean.com/vultr.com. Kan je alles doen en laten wat je wilt.
Ik weet ook niet precies wat een mysql native driver is, maar het is blijkbaar nodig om het volgende code uit te kunnen voeren:

code:
1
mysqli_stmt_get_result();

code:
1
get_result();

Wanneer je op internet zoekt waarom je de foutcode:PHP Fatal error: Uncaught Error: Call to undefined method mysqli_stmt::get_result() krijgt dan raadt iedereen aan om de Mysql native driver te installeren/activeren in PHP. Per mail heeft Strato bevestigd dat zij dit niet actief hebben en ook niet actief willen maken.
Zoals in het topic aangaf, ben ik opzoek naar een hostingprovider die Mysql native driver heeft geactiveerd zodat ik bovenstaande PHP functies kan gebruiken.
En als tweede vraag; bestaat er een lijst waarop hosting provider worden gereviewd?

[Voor 11% gewijzigd door lawkexarib op 07-03-2021 00:29]


Acties:
  • 0Henk 'm!

  • ShitHappens
  • Registratie: Juli 2008
  • Laatst online: 09:23
Misschien iets out of the box hoor, maar nog overwogen voor een VPS of iets dergelijks te gaan? Heb je de software geheel in eigen hand.

Acties:
  • 0Henk 'm!

  • Vaenir
  • Registratie: Februari 2018
  • Laatst online: 16-03 17:23
lawkexarib schreef op zondag 7 maart 2021 @ 00:27:
[...]

Ik weet ook niet precies wat een mysql native driver is, maar het is blijkbaar nodig om het volgende code uit te kunnen voeren:

code:
1
mysqli_stmt_get_result();

code:
1
get_result();

Wanneer je op internet zoekt waarom je de foutcode:PHP Fatal error: Uncaught Error: Call to undefined method mysqli_stmt::get_result() krijgt dan raadt iedereen aan om de Mysql native driver te installeren/activeren in PHP. Per mail heeft Strato bevestigd dat zij dit niet actief hebben en ook niet actief willen maken.
Zoals in het topic aangaf, ben ik opzoek naar een hostingprovider die Mysql native driver heeft geactiveerd zodat ik bovenstaande PHP functies kan gebruiken.
En als tweede vraag; bestaat er een lijst waarop hosting provider worden gereviewd?
Goh ik werk als webdeveloper met redelijk wat php ervaring maar hiervan was ik nog niet op de hoogte. De meest gebruikte library om mysql database verbindingen te maken is `php-mysql` maar jij bent opzoek naar een alternatief genaamd `php-mysqlnd`. Deze kan je niet tegelijkertijd draaien.

Nu snap ik ook waarom Strato jou een nee verkoopt. Aangezien `php-mysql` eigenlijk voor 99% van de gemiddelde php projecten voldoende is.

Nu kan je twee richtingen op: Maak zoals ik eerder heb genoemd een vps aan waarbij je dus zelf kan kiezen welke libraries je hanteert of kijk naar een alternatieve wijze voor hetgeen wat je probeert te implementeren.

Probeer je gewoon data terug te krijgen vanuit een database via een prepared statement? Lees anders eens het volgende: https://phptherightway.com/#pdo_extension. Je krijgt dan ook direct voorbeelden hoe het niet moet (sql injection). Ik ben er bijna zeker van dat het zelfs bij Strato op deze manier werkt.

Acties:
  • 0Henk 'm!

  • Montaner
  • Registratie: Januari 2005
  • Laatst online: 16-03 11:45
Werkt dit als mysqlnd ook werkt? Bij vimexx kan ik dat zelf instellen via php version.

Acties:
  • 0Henk 'm!

  • KNed
  • Registratie: Juni 2006
  • Nu online
Waarom gebruik je niet mysqli_stmt_fetch ?

Zie https://www.php.net/manual/en/mysqli-stmt.fetch.php

Code wordt dan iets als:
code:
1
2
3
4
5
6
7
8
9
10
$query  = "SELECT name FROM table WHERE id = ?;
if ($sqlStatement = mysqli_prepare($link, $query)) {
    mysqli_stmt_bind_param($sqlStatement, "i", $id);
    mysqli_stmt_execute($sqlStatement);
    mysqli_stmt_bind_result($sqlStatement, $name);
    if (mysqli_stmt_fetch($sqlStatement)) {
        // do something with $name
    }
    mysqli_stmt_close($sqlStatement);
}

[Voor 66% gewijzigd door KNed op 07-03-2021 01:24]


Acties:
  • 0Henk 'm!

  • Oon
  • Registratie: Juni 2019
  • Niet online
Is het eigen code waar je mee bezig bent of is het iets bestaands dat je wil kunnen draaien? Anders zou je namelijk ook netjes PDO kunnen gebruiken in je code

Acties:
  • 0Henk 'm!

  • RobbyTown
  • Registratie: April 2007
  • Niet online

RobbyTown

Godlike

Als het mysqlnd is geen idee waar nd anders zou voor staan dan native driver. Bij Antagonist heb je mysqlnd

Even screenshot gemaakt wat ze nog meer hebben.

Mijn blog - T.net nostalgie - Tweak uptime


Acties:
  • +1Henk 'm!

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 10:22

AW_Bos

Liefhebber van nostalgie... 🕰️

Ah, van PHPhulp naar Tweakers gegaan, volgens mij? Welkom hier ;)

Nee, Strâtòooooh is niet echt een van de besten en bieden ook beperkte instellingen, al zijn die reklame ook rete-irritant.

Als je twijfelt aan een hosting, dan kan je gerust vragen of ze in een phpinfo() dit hebben staan:
--with-mysqli=mysqlnd. Bijna elke LAMP-installatie heeft dit gewoon standaard, en ik vind het duf dat Strato dat niet aanbiedt.

Je kan kijken wat een phpinfo() zegt, maar ik durf te wedden dat ze mysqlnd niet meegecompileerd hebben.

Ik snap eigenlijk totaal niet wat nou het nut van die 'native driver' is, en waarom een paar functies juist daarvan gebruik maken, in plaats van dit bij de normale ingebouwde mysqli neer te leggen? Iemand die mij dit kan vertellen?

[Voor 21% gewijzigd door AW_Bos op 07-03-2021 15:09]

☀️ Goedemorgen zonneschijn! ☀️
☀️Ja, je maakt me zo gelukkig, en door jou voel ik me fijn! ☀️


Acties:
  • 0Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
AW_Bos schreef op zondag 7 maart 2021 @ 15:03:
Nee, Strâtòooooh is niet echt een van de besten en bieden ook beperkte instellingen, al zijn die reklame ook rete-irritant.
offtopic:
Duitsers + Scooter = "how much is de (web)fish?"
Duur betaald ;)


Mysqlnd zou overal standaard moeten zijn tenzij men met de PHP compile heeft zitten klooien.
https://www.php.net/manual/en/mysqlinfo.library.choosing.php

[Voor 21% gewijzigd door DJMaze op 07-03-2021 18:54]

Maak je niet druk, dat doet de compressor maar


  • lawkexarib
  • Registratie: Maart 2009
  • Laatst online: 02-03 21:39
ShitHappens schreef op zondag 7 maart 2021 @ 00:46:
Misschien iets out of the box hoor, maar nog overwogen voor een VPS of iets dergelijks te gaan? Heb je de software geheel in eigen hand.
Dat is uiteraard ook een optie, maar voor mij als een hobby programmeur iets te veel van het goeie ;-)

  • lawkexarib
  • Registratie: Maart 2009
  • Laatst online: 02-03 21:39
Vaenir schreef op zondag 7 maart 2021 @ 00:55:
[...]


Goh ik werk als webdeveloper met redelijk wat php ervaring maar hiervan was ik nog niet op de hoogte. De meest gebruikte library om mysql database verbindingen te maken is `php-mysql` maar jij bent opzoek naar een alternatief genaamd `php-mysqlnd`. Deze kan je niet tegelijkertijd draaien.

Nu snap ik ook waarom Strato jou een nee verkoopt. Aangezien `php-mysql` eigenlijk voor 99% van de gemiddelde php projecten voldoende is.

Nu kan je twee richtingen op: Maak zoals ik eerder heb genoemd een vps aan waarbij je dus zelf kan kiezen welke libraries je hanteert of kijk naar een alternatieve wijze voor hetgeen wat je probeert te implementeren.

Probeer je gewoon data terug te krijgen vanuit een database via een prepared statement? Lees anders eens het volgende: https://phptherightway.com/#pdo_extension. Je krijgt dan ook direct voorbeelden hoe het niet moet (sql injection). Ik ben er bijna zeker van dat het zelfs bij Strato op deze manier werkt.
Nou kijk ik probeer dmv prepared statement simpele acties uit te voeren tegen de database. Volgens mij is dit niks speciaal of zo en probeer gewoon dezelfde commando's uit te voeren zoals in elke tutorial wordt aangegeven.
De reden waarom ik prepared statement gebruik, omdat mijn queries enigszins wil beveiligen en niet direct data wil inserten in de DB. Volgens mij is dit ook niets bijzonder of zo |:( .
Ik snap dus niet waarom ik PDO moet gebruiken, want procedurele werkt toch ook prima?

  • lawkexarib
  • Registratie: Maart 2009
  • Laatst online: 02-03 21:39
Oon schreef op zondag 7 maart 2021 @ 01:31:
Is het eigen code waar je mee bezig bent of is het iets bestaands dat je wil kunnen draaien? Anders zou je namelijk ook netjes PDO kunnen gebruiken in je code
Maar bij PDO dan moet je toch OOP gaan programmeren en zover ben ik nog niet. Ik weet niet of ik ooit in OOP wil gaan programmeren om eerlijk te zijn.
En dus zolang het kan, wil ik procedurele programmeren, want dat is inzichtelijk voor mij! Let op, ik ben geen pro programmeur, maar doe dit gewoon als een hobby!

  • lawkexarib
  • Registratie: Maart 2009
  • Laatst online: 02-03 21:39
RobbyTown schreef op zondag 7 maart 2021 @ 14:40:
Als het mysqlnd is geen idee waar nd anders zou voor staan dan native driver. Bij Antagonist heb je mysqlnd

Even screenshot gemaakt wat ze nog meer hebben.
[Afbeelding]
Bedankt voor deze info. Ik ga serieus kijken naar Antagonist.

  • TomsDiner
  • Registratie: November 2014
  • Laatst online: 16-07-2022
lawkexarib schreef op maandag 8 maart 2021 @ 22:07:
[...]

Maar bij PDO dan moet je toch OOP gaan programmeren en zover ben ik nog niet. Ik weet niet of ik ooit in OOP wil gaan programmeren om eerlijk te zijn.
En dus zolang het kan, wil ik procedurele programmeren, want dat is inzichtelijk voor mij! Let op, ik ben geen pro programmeur, maar doe dit gewoon als een hobby!
Misschien een beetje kort door de bocht, maar de afslag die je neemt is volgens mij wel weinig voorkomend. Zoals eerder aangegeven, is php-mysql de verreweg de meest gebruikte library. Dat geeft voor een hobbyist het voordeel dat vrijwel alle voorbeelden op internet out of the box werken...

Als ik het goed zie vraag je gewoon het resultaat van een query op? Je kunt PDO ook gewoon in een niet OOP programma gebruiken:
code:
1
2
3
$stmt = $pdo->prepare('SELECT * FROM users WHERE email = ? AND status=?');
$stmt->execute([$email, $status]);
$user = $stmt->fetch();

  • lawkexarib
  • Registratie: Maart 2009
  • Laatst online: 02-03 21:39
AW_Bos schreef op zondag 7 maart 2021 @ 15:03:
Ah, van PHPhulp naar Tweakers gegaan, volgens mij? Welkom hier ;)

Nee, Strâtòooooh is niet echt een van de besten en bieden ook beperkte instellingen, al zijn die reklame ook rete-irritant.

Als je twijfelt aan een hosting, dan kan je gerust vragen of ze in een phpinfo() dit hebben staan:
--with-mysqli=mysqlnd. Bijna elke LAMP-installatie heeft dit gewoon standaard, en ik vind het duf dat Strato dat niet aanbiedt.

Je kan kijken wat een phpinfo() zegt, maar ik durf te wedden dat ze mysqlnd niet meegecompileerd hebben.

Ik snap eigenlijk totaal niet wat nou het nut van die 'native driver' is, en waarom een paar functies juist daarvan gebruik maken, in plaats van dit bij de normale ingebouwde mysqli neer te leggen? Iemand die mij dit kan vertellen?
Nee nee, ik ben niet overgestapt, maar ik dacht laat het hier ook eens vragen :)
Tnx! iig
In phpinfo() heeft Strato staan: with-mysqli=../local/bin/mysql_config' '. Ik ben geen deskundige, maar ik vind het super vervelend dat zij MysqlND niet hebben geactiveerd 8)7 . Ze zijn iig een klant kwijt!

  • Vaenir
  • Registratie: Februari 2018
  • Laatst online: 16-03 17:23
lawkexarib schreef op maandag 8 maart 2021 @ 22:00:
[...]

Nou kijk ik probeer dmv prepared statement simpele acties uit te voeren tegen de database. Volgens mij is dit niks speciaal of zo en probeer gewoon dezelfde commando's uit te voeren zoals in elke tutorial wordt aangegeven.
De reden waarom ik prepared statement gebruik, omdat mijn queries enigszins wil beveiligen en niet direct data wil inserten in de DB. Volgens mij is dit ook niets bijzonder of zo |:( .
Ik snap dus niet waarom ik PDO moet gebruiken, want procedurele werkt toch ook prima?
Als jij procedureel wilt programmeren is dat helemaal prima. Jouw code jouw keuze haha. Verder ook verstandig dat je prepared statements wilt gebruiken. Je loopt nu alleen tegen wat irritant geneuzel aan wat betreft de server infrastructuur. Uberhaupt al vervelend dat dit een showstopper is voor je.

PDO is in principe wel te gebruiken binnen je code via een ontwerppatroon genaamd een `singleton`. Zou niet mijn eerste keuze zijn, maar hey het kan. Je hebt dan alsware een losstaande database class binnen een file (bijvoorbeeld database.php) welke je weer kan toevoegen aan je code via `require_once 'database.php'`. Zie: https://phpdelusions.net/pdo/pdo_wrapper#singleton.

  • lawkexarib
  • Registratie: Maart 2009
  • Laatst online: 02-03 21:39
KNed schreef op zondag 7 maart 2021 @ 01:21:
Waarom gebruik je niet mysqli_stmt_fetch ?

Zie https://www.php.net/manual/en/mysqli-stmt.fetch.php

Code wordt dan iets als:
code:
1
2
3
4
5
6
7
8
9
10
$query  = "SELECT name FROM table WHERE id = ?;
if ($sqlStatement = mysqli_prepare($link, $query)) {
    mysqli_stmt_bind_param($sqlStatement, "i", $id);
    mysqli_stmt_execute($sqlStatement);
    mysqli_stmt_bind_result($sqlStatement, $name);
    if (mysqli_stmt_fetch($sqlStatement)) {
        // do something with $name
    }
    mysqli_stmt_close($sqlStatement);
}
Dit heb ik geprobeerd, maar helaas werkt dit niet. Ik krijg meerdere foutmeldingen.

  • KNed
  • Registratie: Juni 2006
  • Nu online
lawkexarib schreef op maandag 8 maart 2021 @ 22:35:
[...]

Dit heb ik geprobeerd, maar helaas werkt dit niet. Ik krijg meerdere foutmeldingen.
Vreemd. Bij mijn hoster werkt dit gewoon. Op welke commando's krijg je dan welke foutmeldingen?

[Voor 9% gewijzigd door KNed op 08-03-2021 23:30]


  • Josk79
  • Registratie: September 2013
  • Laatst online: 01:18
lawkexarib schreef op maandag 8 maart 2021 @ 22:07:
[...]

Maar bij PDO dan moet je toch OOP gaan programmeren en zover ben ik nog niet. Ik weet niet of ik ooit in OOP wil gaan programmeren om eerlijk te zijn.
En dus zolang het kan, wil ik procedurele programmeren, want dat is inzichtelijk voor mij! Let op, ik ben geen pro programmeur, maar doe dit gewoon als een hobby!
Nee hoor, je kunt PDO prima gebruiken zonder zelf voor oop te gaan. Hoewel PDO zelf oop is, hoef je dit niet door te voeren in de rest van je code. PDO vind ik persoonlijk ook gebruiksvriendelijker dan mysqli. Goede voorbeelden staan hier: https://phptherightway.com/#pdo_extension , zonder oop te doorgronden is dit zo op te pikken.

Dus, als mysqlnd voor jouw de enige reden zou zijn om weg te gaan bij Scooter, zou ik dit eerst een kans geven.

  • lawkexarib
  • Registratie: Maart 2009
  • Laatst online: 02-03 21:39
Bedankt allemaal voor het meedenken.
Ik ga weer eens een moderne practical PHP boek doornemen om mij verder te verdiepen in bepaalde gebieden in PHP. Tnx!

  • jurroen
  • Registratie: Mei 2012
  • Laatst online: 10:16

jurroen

Security en privacy geek

Ik denk dat de beste manier is om te onderzoeken of je die 'native driver' echt nodig hebt en of jouw huidige code de beste manier is om dit aan te vliegen, op de korte maar ook op de lange termijn. Schaalt die code over een paar jaar nog net zo lekker?

Inhoudelijk antwoord op je vraag: richt zelf een server in óf ga voor een shared provider zoals @RobbyTown laat zien. Die technologie is PHP Selector, afkomstig van CloudLinux. Het kent ook HardenedPHP, waardoor je oudere PHP versies kunt gebruiken met gebackporte security fixes. Persoonlijk zou ik dat niet aanraden en zorgen dat jouw applicatie/script met de nieuwste PHP versies overweg kan die ondersteund zijn, in plaats van een EOL versie met wat pleisters.

  • RobbyTown
  • Registratie: April 2007
  • Niet online

RobbyTown

Godlike

@jurroen bij Antagonist is het container hosting geen shared. Zie https://www.antagonist.nl/webhosting/container-hosting

Mijn blog - T.net nostalgie - Tweak uptime


  • jurroen
  • Registratie: Mei 2012
  • Laatst online: 10:16

jurroen

Security en privacy geek

Misschien afhankelijk van de definitie - in mijn ogen is het wel degelijk shared hosting, je deelt een server met anderen. Die containers waar ze het over hebben is CageFS samen met LVE.

Een goede ontwikkeling, zeker gezien de isolatie tussen klanten toeneemt en daarmee de veiligheid ook. Het blijft echter wel shared hosting ;)

  • RobbyTown
  • Registratie: April 2007
  • Niet online

RobbyTown

Godlike

jurroen schreef op woensdag 10 maart 2021 @ 09:15:
[...]


Misschien afhankelijk van de definitie - in mijn ogen is het wel degelijk shared hosting, je deelt een server met anderen. Die containers waar ze het over hebben is CageFS samen met LVE.

Een goede ontwikkeling, zeker gezien de isolatie tussen klanten toeneemt en daarmee de veiligheid ook. Het blijft echter wel shared hosting ;)
Lang leve de marketing d:)b

Mijn blog - T.net nostalgie - Tweak uptime


  • jurroen
  • Registratie: Mei 2012
  • Laatst online: 10:16

jurroen

Security en privacy geek

Persoonlijk vind ik dat ze dat wel goed doen. Ze leggen het uit op een manier die voor leken te begrijpen is. Technisch gezien is het niet fout/verkeerd. Mijn definitie van shared is dat je hier geen root-toegang hebt. Bij een (unmanaged) VPS heb je dat wel, dat valt dan ook niet meer onder shared.
Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee