⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

PHP extension allowing native interaction with systemd and its journal

License

Notifications You must be signed in to change notification settings

hemio-ev/php-systemd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

php-systemd

PHP extension allowing native interaction with systemd and journald

Installation

Prerequisites

.deb based

sudo apt install php5-dev  libsystemd-dev

.rpm based

sudo dnf install php-devel systemd-devel

Build

phpize
./configure --with-systemd
make

Setup

sudo make install

Fedora

echo "extension=systemd.so" | sudo tee /etc/php.d/systemd.ini

Debian (PHP 5)

echo "extension=systemd.so" | sudo tee /etc/php5/mods-available/systemd.ini
sudo php5enmod systemd

Basic Test

echo "<?php echo sd_journal_send('MESSAGE=hello world');" | php

Usage

Quick example:

<?php
sd_journal_send('MESSAGE=Hello world.');
// message with priority "3" (warning) and identifier (also called *TAG*) set to "appname" 
sd_journal_send('MESSAGE=Error message','PRIORITY=3', 'SYSLOG_IDENTIFIER=appname');"

Notes:

  • Each argument must be in the form of a KEY=value pair, environmental variable style.
  • Unlike the native C version of journald's sd_journal_send(), printf-style substitution is not supported. Perform any substitution using PHP's sprintf() or similar capabilities first.
  • The base message is usually sent in the form MESSAGE=hello. The MESSAGE field is, however, not required.
  • Invalid arguments result in nothing recorded in the journal.

Viewing Output

Quick way to view output with all fields as it comes in:

sudo journalctl -f --output=json

About

PHP extension allowing native interaction with systemd and its journal

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 56.5%
  • M4 43.5%