Ich habe in meinem Linux System zusätzliche Extensions einkompiliert. Trotzdem tauchen sie bei Aufruf von phpinfo() nicht auf. Was ist zu tun? bzw. kann man sie dynamisch nachladen?
Extensions
Einklappen
X
-
Jepp, die hepp!
Die sind drinne. Und sollen auch genutzt werden.
Ich geh mal davon aus, dass es die neueste Version ist (welche auch immer die neueste ist). Kann das also leider nicht sagen.
Vielleicht führt mal jemand mit PHP 4.3 die Funktion gd_info() aus. Damit bekommt man alle Infos zur GDlib.
Kommentar
-
mhhh...
Hast ja recht. Ich wollte das gerade mal ausprobieren, aber leider kam nur ein "call to undefined function" dabei raus. Mach ich irgentetwas verkehrt?!?
Ich benutze dabei gd_info() einfach genauso wie phpinfo().
Hab mir aber selbst mal noch ne Kleinigkeit gecodet, mit der man zumindest erstmal die enthaltenen Funktionen erhält:
PHP-Code:<?php
dl("php_gd.dll");
echo"<h3 align=\"center\">Liste der GD-Funktionen</h3><hr /><br />";
$r=get_extension_funcs("gd");
foreach($r as $number=>$functionname) {
echo "$functionname<br>";
}
?>
Kommentar
-
ja, das ist schon klar.
Ich habe die Version 4.3 installiert. Meiner Meinung nach sollte dann aber bei einem Aufruf von phpinfo die gdlib auch als modul erscheinen.
Oder irre ich mich da??? Denn das ist bei mir nicht. phpinfo lässt die gdlib bei mir ganz dezent weg. Was mich etwas irritiert. Denn es hiess ja (wie du auch sagst) das die automatisch mit drin wäre...
Ist doch alles recht verwirrend.
Kommentar
-
PHP-Code:function extFunctions($ext)
{
$extFuncs = get_extension_funcs($ext);
while(list($fid, $fname) = each($extFuncs))
{
echo " - " . ($fid + 1) . " <a href=\"http://www.php.net/manual/de/function.".str_replace("_", "-", $fname).".php\">$fname</a><br />";
}
}
echo "<h1>PHP Loaded Extensions:</h1>";
echo "<a href='$PHP_SELF'>Extensions Only</a> | <a href='$PHP_SELF?expand=*'>Expand functions</a> |<br>";
$loaded = get_loaded_extensions();
while(list($id, $name) = each($loaded))
{
echo "<b>".($id+1)."<a href='$PHP_SELF?expand=$name'>$name</a></b><br />";
if(isset($expand))
if ($expand == $name || $expand == "*")
extFunctions($name);
}
--
edit
verlinkung auf php.net/manual/de/funktionsname reingebasteltZuletzt geändert von mrhappiness; 03.01.2003, 15:09.Ich denke, also bin ich. - Einige sind trotzdem...
Kommentar
-
Vielen Dank für deine Hilfe
War sehr lehrreich. Allerdings liegt es wohl weniger an meinem Verstand, sondern eher an der Version von PHP, die ich benutze
Denn ich habe alle manuell eingefügten Extensions wieder rausgenommen, sodass wirklich nur noch die in PHP 4.3 orginal enthaltenen drin sind.
Und hier zeigt sich der Fehler, es taucht natürlich auch in deinem Script wieder keine GDlib auf.
Ich werd mir jetzt einfach nochmals das neue PHP-Release ziehen und alles nochmal testen. Irgentwo muss ja der Fehler liegen...
Kommentar
-
Ich hab nochmal in der PHP-ChangeLog nachgeschaut und das sollte enthalten sein:
Added gd_info() which returns an array of gd support information
Added read-only GIF support for bundled GD2 library
Bundled GD library 2.0.1 with php (ext/gd/libgd)
Momentan benutze ich diese Version:
PHP 4.3.0 installer [1,028Kb] - 27 December 2002
(CGI only, MySQL support built-in, packaged as Windows installer to install and configure PHP, and automatically configure IIS, PWS and Xitami, with manual configuration for other servers. N.B. no external extensions included)
md5: a64138b56c49df8a2b4ff099a6ee0611
Ich werde es aber nun auch nochmal mit dieser probieren:
PHP 4.3.0 zip package [5,811Kb] - 27 December 2002
(CGI binary plus server API versions for Apache, Apache2 (experimental), ISAPI, NSAPI, Servlet and Pi3Web. MySQL support built-in, many extensions included, packaged as zip)
md5: 64f6a4a5b7a27c98ef85bfa1f2dd604b
Kommentar
-
ich hab das obige Script an register_globals = off angepasst:
PHP-Code:function extFunctions($ext)
{
$extFuncs = get_extension_funcs($ext);
while(list($fid, $fname) = each($extFuncs))
{
echo " - ".($fid + 1)." - <a href=\"http://www.php.net/manual/de/function.".str_replace("_", "-", $fname).".php\">$fname</a><br />";
}
}
echo "<h1>PHP Loaded Extensions:</h1>";
echo "<a href=\"".$_SERVER['PHP_SELF']."\">Extensions Only</a> | <a href=\"".$_SERVER['PHP_SELF']."?expand=*\">Expand functions</a> |<br>";
$loaded = get_loaded_extensions();
while(list($id, $name) = each($loaded))
{
echo "<b>".($id+1)." - <a href='$PHP_SELF?expand=$name'>$name</a></b><br />";
if(isset($_GET['expand']))
if ($_GET['expand'] == $name || $_GET['expand'] == "*")
extFunctions($name);
}
Grüße an alle und weiterhin frohes Arbeiten
Kommentar
-
Die Lösung liegt in der php.ini ...
Für extension_dir ist die Default-Einstellung ".", also das Verzeichnis in dem die php.exe liegt. Kopiert man die dll da hin, dann tut´s.
Im Installer ist die GD-Library nicht enthalten, auch im aktuellsten nicht.
Kommentar
Kommentar