Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

PHP Compiler Options

Empfohlene Antworten

Veröffentlicht

Hallo,

Ich würde gern mal ein paar Fragen in die Runde stellen:

1. Kompiliert ihr PHP selber?

2. Wenn ja mit welchen Optionen?

3. Warum mit diesen Optionen?

Hintergrund: Die meisten LAMP Tutorials packen tausend Optionen beim kompilieren von PHP rein und man hat eigentlich nicht viel Ahnung, was man da eigentlich macht. Ich wüsste gern mal, was WIRKLICH sinnvolle Optionen sind.

Ich hab z.B. zu der Option --enable-versioning nicht wirklich viel gefunden, jedesfalls nichts, dass ich verstanden hätte, wozu die Option da ist.

Oder die Optionen --enable-sysvmsg --enable-sysvsem --enable-sysvshm

Ich weiss jetzt, dass die etwas mit Semaphore, Shared Memory and IPC Functions zu tun haben, aber ob man das verwenden sollte und warum?

Hier mal ein Beispiel für so einen Optionen-Wald:

./configure --prefix=/usr --datadir=/usr/share/php --bindir=/usr/bin --libdir=/usr/share --includedir=/usr/include --sysconfdir=/etc --with-_lib=lib --with-config-file-path=/etc --with-exec-dir=/usr/lib/php/bin --disable-debug --enable-bcmath --enable-calendar --enable-ctype --enable-dbase --enable-discard-path --enable-exif --enable-filepro --enable-force-cgi-redirect --enable-ftp --enable-gd-imgstrttf --enable-gd-native-ttf --enable-inline-optimization --enable-magic-quotes --enable-mbstr-enc-trans --enable-mbstring --enable-mbregex --enable-memory-limit --enable-safe-mode --enable-shmop --enable-sigchild --enable-sysvsem --enable-sysvshm --enable-track-vars --enable-trans-sid --enable-url-includes --enable-versioning --enable-wddx --enable-yp --with-bz2 --with-dom=/usr/include/libxml2 --with-ftp --with-gettext --with-jpeg-dir=/usr --with-mcrypt --with-mhash --with-mysql=/usr --with-png-dir=/usr--with-tiff-dir=/usr --with-ttf --with-freetype-dir=yes --with-zlib=yes --with-gd --with-openssl --with-curl --enable-sockets --with-apxs2=/usr/sbin/apxs2

Hintergrund: Die meisten LAMP Tutorials packen tausend Optionen beim kompilieren von PHP rein und man hat eigentlich nicht viel Ahnung, was man da eigentlich macht. Ich wüsste gern mal, was WIRKLICH sinnvolle Optionen sind.

das ist ein punkt, der zum nachdenken anregt. zur frage, mit welchen extensions PHP ausgerüstet wird, wenn nicht ein binary package zum einsatz kommt:

wie immer kommt es auf das einsatzgebiet an. umgebungen, die auf sicherheitsrelevante dinge sehr viel rücksicht nehmen müssen, setzen entweder PHP garnicht ein :D - oder eben soweit customized, dass nur erweiterungen eincompiliert werden, die auch tatsächtlich verwendet werden. was nicht benötigt wird, fliegt raus.

Ich hab z.B. zu der Option --enable-versioning nicht wirklich viel gefunden, jedesfalls nichts, dass ich verstanden hätte, wozu die Option da ist.

IIRC, ist versioning nur(?) in zusammenhang mit version_compare erforderlich. kann aber durchaus sein, dass diese option in neueren PHP-versionen (4, 5) nicht mehr explizit gesetzt werden muss.

Oder die Optionen --enable-sysvmsg --enable-sysvsem --enable-sysvshm

Ich weiss jetzt, dass die etwas mit Semaphore, Shared Memory and IPC Functions zu tun haben, aber ob man das verwenden sollte und warum?

linux/unix unterstützt sogenannten shared memory (was es auf windows überhaupt nicht gibt) und semaphoren (welche es auf windows gibt, aber anders funktionieren als unix-semaphoren). dieser speicher kann auch von PHP direkt adressiert werden, falls das erforderlich ist - dazu gibts die ganzen, mit sh(m)... beginnenden funktionen. erforderlich ist es aber nicht, PHP läuft auch ohne sh(m)-funktionen einwandfrei.

s'Amstel

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.