Tulork skrev:
IT-pastorn lär skriva här snart ändå, då får du dina svar :)
Nja, ibland är jag bortrest och just nu är jag bara extra aktiv eftersom det är sommarlov, så lita inte på att jag svarar på allt. ;)
Stevenets lösning kan fungera - om webbhotellet tillåter dl() och om modulen finns där den skall - men det hade inte jag tillåtit om jag drev ett webbhotell.
Att lämna dl() till användares gottfinnande ger mig rysningar ur säkerhetssynpunkt. Kort sagt: Om det fungerar så skulle jag byta webbhotell till ett mer kompetent! Ett bra webbhotell har alltså avaktiverat dl-funktionen via "enable_dl" inställningen i php.ini.
Å andra sidan så bör ett gott webbhotell svara med en snabb aktivering av pdo_mysql via php.ini (och omstart) på en enkel fråga. Detta är något som de har kontroll över och som inte skapar några säkerhetshål värda namnet. Det finns inga skäl för dem att vägra.
Lite kommentarer om dl() funktionen och noterna på manualsidan http://php.net/dl
Note: dl() is not supported in multithreaded Web servers. Use the extensions statement in your php.ini when operating under such an environment. However, the CGI and CLI build are not affected !
Multitrådsläge är ännu ytterst ovanligt. PHP är "thread safe" men många tillägg, såsom POSIX-regular expressions, är det inte.
Note: As of PHP 5, the dl() function is deprecated in every SAPI except CLI. Use Extension Loading Directives method instead.
CLI innebär att man kör PHP från kommandoraden. Det är just av säkerhetsskäl utvecklarna valt att nedvärdera kommandot. "Extension Loading Directives" är detsamma som att styra via php.ini.
Note: Since PHP 6 this function is disabled in all SAPIs, except CLI, CGI and embed.
Som synes - det mesta som är nedvärderat i PHP 5 kommer sluta finnas i PHP 6. Under en övergångsfas kommer måhända somliga webbhotell erbjuda PHP 4 eller 5 som modul och version 6 som CGI, men det är ingen grund att utveckla sina program för.
Note: This function is disabled in safe mode.
safe_mode körs på somliga webbhotell, men funktionen är urkass! Ännu ett skäl att byta webbhotell om så skulle vara fallet. PHP 6 kommer sakna safe_mode, liksom register_globals och magic_quotes - vi kommer inte att göra det! De tre sämsta ideerna i PHP:s historia har äntligen kommit till vägs ände.