php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.03.2007, 22:57  
Erfahrener Benutzer
 
Registriert seit: 17.06.2008
Beiträge: 125
squig befindet sich auf einem aufstrebenden Ast
Standard extension_dir - Noch woanders definiert?

Hallo,

ich hab in meiner php.ini mein "extension_dir" wie folgt angegeben:
Code:
extension_dir = "/opt/php/lib/php/extensions"
In der Ausgabe von phpinfo() wird es auch so angezeigt und leg ich Extensions in diesem Verzeichnis ab werden sie auch geladen.

Nun bin ich hingegangen und habe eine Erweiterung manuell kompiliert und anschliessend installiert, sie landete dann in folgendem Verzeichnis:
Code:
$ phpize
$ ./configure
$ make
$ make install

/opt/php/lib/php/extensions/no-debug-non-zts-20060613/
Aus einem Abschnitt des PHP - Manuals hab ich folgendes entnommen:
Zitat:
Unix - Wenn nicht explizit in der php.ini angegeben, hängt das standardmäßige Verzeichnis ab von:

* ob PHP mit --enable-debug erstellt wurde oder nicht
* ob PHP mit (experimentellem) ZTS (Zend Thread Safety) Unterstützung erstellt wurde oder nicht
* der aktuellen internen ZEND_MODULE_API_NO (Zend interne Modul API Nummer, welche im Grunde das Datum der letzten größeren Modul API Änderung darstellt, z.B. 20010901).

Das obige in Betracht gezogen, ist das standardmäßige Verzeichnis <php-install-directory>/lib/php/extension/<debug-or-not>-<zts-or-not>-ZEND_MODULE_API_NO, z.B. /usr/local/php/lib/php/extensions/debug-non-zts-20010901 oder /usr/local/php/lib/php/extensions/no-debug-zts-20010901.
Nun habe ich aber doch den Pfad zum "extension_dir" explizit angegeben.
Gibt es vielleicht noch einen anderen Ort an dem geschaut wird, wohin eine Extension installiert werden soll?

Es ist kein schwerwiegendes Problem, aber ich würde mir doch gerne das manuelle Verschieben der Extensions sparen

Vielleicht hat ja jemand hier einen kleinen Tip für mich.

Dankeschön.


squig
squig ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 11.03.2007, 23:00  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Kannst das ja mit einem Symlink lösen, oder das make-Skript anpassen. Theoretisch kann man dem auch einen Output-Pfad mitgeben. Zumindest ist das bei den meisten Make's so...
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 11.03.2007, 23:12  
Erfahrener Benutzer
 
Registriert seit: 17.06.2008
Beiträge: 125
squig befindet sich auf einem aufstrebenden Ast
Standard

Hallo Doc

Die von dir genannten Wege sind auf jedenfall möglich, aber noch nicht das was ich möchte.

Woher nimmt das "make" die Information wohin es die Extension installieren soll? Ich ruf das "configure" ja völlig parameterlos auf.
Kommt die Information über meinen Extension - Pfad über das "phpize" rein und wen ja, wie mache ich ihm klar, dass er nicht in einen zusätzlichen Unterordner installieren soll?
Welche andere Informationsquelle als die "php.ini" könnte "phpize" den noch nutzen?

Dankeschön.


squig
squig ist offline  
Alt 11.03.2007, 23:44  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo squig,

das ist im configure eingestellt, zumindest war das so in den configure's, die ich bisher von PHP auf LINUX gesehen habe. Dort werden irgendwelche Pfade gesetzt, die dein make verwendet. Musst das mal ansehen.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 12.03.2007, 09:52  
Erfahrener Benutzer
 
Registriert seit: 17.06.2008
Beiträge: 125
squig befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

ich habs gefunden

Im Script "php-config" steht der "extension_dir" - Pfad mit diesem Unterverzeichnis ("/opt/php/lib/php/extensions/no-debug-non-zts-20060613/") im Code, habe dies dort einfach manuell korrigiert und nun landen die Extensions direkt im richtigen Verzeichnis.

Alle anderen Angaben in "php-config" stimmen und sind auch spezifisch für meine PHP - Installation.

Wenn ich das nun richtig beobachtet habe, wird das "configure" - Skript durch den Aufruf von "phpize" erst erstellt.
Beim Aufruf von "configure" werden dann Pfadangaben aus "php-config" übernommen, wobei hier der Standardwert für das "extension_dir" genutzt wird und das ist eben dieser mit dem Unterverzeichnis (siehe mein erster Post, Link zum PHP - Manual).
Das kann man schön sehen, wenn man einen Fehler in der "php-config" hat, wie z.B. eine Zeile falsch auskommentiert, dann bricht "configure" mit der Meldung ab, dass es Probleme hat "php-config" zu lesen.
Im Anschluss macht man mit dem bekannten "make" und "make install" weiter.

Kennt jemand vll eine Quelle in der diese Tools und ihre Funktionsweise ein wenig näher erläutert werden?
Das PHP - Manual gibt dazu leider nichts her. Die man - Page hat nur einen Satz über:
Zitat:
phpize is a shell script to prepare PHP extension for compiling.
Bis dääähne,

squig
squig ist offline  
Alt 12.03.2007, 10:50  
Erfahrener Benutzer
 
Registriert seit: 03.03.2007
Beiträge: 112
Schnulli
Standard

schon man phpize versucht?
Schnulli ist offline  
Alt 12.03.2007, 11:33  
Erfahrener Benutzer
 
Registriert seit: 17.06.2008
Beiträge: 125
squig befindet sich auf einem aufstrebenden Ast
Standard

Jops,

liefert eben genau dieses:
Zitat:
phpize is a shell script to prepare PHP extension for compiling.

Bis dääähne,

squig
squig ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
uploadprogress_get_info nicht definiert max-dhom PHP Tipps 2007 4 08.07.2007 18:13
div hintergrund wird nur angezeigt wenn border definiert noskule HTML, Usability und Barrierefreiheit 0 21.12.2006 15:51
WHERE nicht richtig definiert möchtegernchegga Datenbanken 4 01.08.2006 13:18
Text so ausgeben wie in Variable Definiert imported_DJ Nuno PHP Tipps 2005-2 5 23.10.2005 19:40
uploaden auch wenn upload_tmp_dir nicht definiert ist? PHP-Fortgeschrittene 4 18.01.2005 20:59
Variable nicht definiert? PHP Tipps 2004-2 4 29.11.2004 22:30
wie definiert man die index? PHP Tipps 2004 4 09.06.2004 14:15

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php extension_dir, extension_dir, extension_dir linux, php extension_dir linux, php configure extension dir, php configure extension_dir, was macht phpize, php mehrere extension_dir, extension_dir php linux, php extension_dir mehrere verzeichnisse, extension_dir php, php extension_dir ini linux, extension_dir pfad, extensiondir ./ linux, php extension_dir 2006, php5 standard extension_dir linux, mehrere extension_dir, extension_dir php.ini, zend extension_dir, php.ini extension_dir linux

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:38 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.