Installation runkit – Superglobals

Damit wir eigene Superglobals definieren können (z.B. $_TESLINA) ist dieses Plugin nötig. Wie folgt installieren: (für php83 ist runkit noch nicht in den Ports verfügbar, für vorherige PHP Versionen kann man es aber über die Ports installieren (pkg install php82-pecl-runkit7-4.0.0a6))

1) Runkit downloaden von der Webseite. Beachte: WARNING: 0.9 does not compile with PHP 5.2+ so use the CVS version instead. das mit dem CVS download geht so:

mkdir -p /usr/local/software/runkit
cd /usr/local/software/runkit git clone https://github.com/runkit7/runkit7.git
cd runkit7
phpize
# The sandbox related code and flags have been removed, no need to disable them.
# (--enable-runkit7-modify (on by default) controls function, method, class, manipulation, and will control property manipulation)
# (--enable-runkit7-super (on by default) allows you to add custom superglobals)
# ./configure --help lists available configuration options.
./configure
make
make test
make install

make test gibt übrigens folgende Fehler aus… aber anscheinend funktionierts trotzdem 🙂

=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
runkit7_method_redefine() must also update method's prototype [tests/runkit_method_redefine_update_proto2.phpt]
=====================================================================


mit make install wurde nun runkit.so ins Modul Verzeichnis von php kopiert:

Installing shared extensions: /usr/local/lib/php/20230831/
-rwxr-xr-x 1 root wheel 344232 Mar 8 15:47 runkit7.so

Jetzt noch die Extension aktivieren. Dazu ein neuen File erstellen:

cd /usr/local/etc/php
vi ext-20-runkit7.ini
# einfügen: extension=runkit7.so

Kurzer Zwischentest:

root@corky(/usr/local/software/runkit/pecl/runkit)> php -v
PHP 5.2.6 with Suhosin-Patch 0.9.6.2 (cli) (built: Sep  6 2008 14:43:29) 
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

Jetzt das php.ini editieren und folgende Zeilen hinzufügen:

 vi /usr/local/etc/php.ini
;;;;;;;;;;;;
; runkit   ;
;;;;;;;;;;;;

runkit7.superglobal = _TESLINA

Weitere zusätzliche Superglobals können einfach mit einem Komma getrennt definiert werden (runkit.superglobal=_FOO,_BAR). Runkit Configuration

Apache restarten und phpinfo() angucken. sollte nun folgendes beinhalten:

# php -i
runkit7

runkit7 support => enabled
version => 4.0.0a6
Custom Superglobal support => enabled
Runtime Manipulation => enabled

Directive => Local Value => Master Value
runkit.internal_override => Off => Off
runkit.superglobal => _TESLINA => _TESLINA

sobald er fertig ist:

nxctl restart

 

  • *

    Du kannst diese HTML tags verwenden: <a> <abbr> <acronym> <b> <blockquote> <cite> <code> <del> <em> <i> <q> <s> <strike> <strong>

  • Kommentar-Feed für diesen Beitrag
nach oben