Download the PHP package neuralpin/notifyli without Composer

On this page you can find all versions of the php package neuralpin/notifyli. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package notifyli

Notifyli: Real-time Communication with Redis Notifications

A WebSocket-based real-time messaging system that enables users to communicate in private and public channels. Built-in Redis broker allows external systems to send notifications to specific users in their designated channels.

Overview

Primary Goal: Enable real-time user-to-user communication in private/public channels via WebSocket.

Secondary Feature: Redis-based notification broker for sending automated messages from external systems to connected users.

Key Architecture

Important: The UI MUST initialize with a user_id and room before the WebSocket connection is established. This allows the system to:

  1. Route direct notifications to the correct user
  2. Allow external systems to target specific users for automated notifications
  3. Maintain user state in Redis for offline notification handling

Example Implementation Files

This repository includes three example implementations that demonstrate how to integrate the system:

These are reference implementations. Adapt them to your specific infrastructure and requirements.

Cloud Production Deployment

This guide covers deploying all three components in a production cloud environment.

Prerequisites

Architecture Overview

Step 1: Server Preparation

Step 2: Deploy Application Code

Step 3: Configure Environment

Create /var/www/notifyli/.env:

Step 4: Configure Nginx (Web UI + WebSocket Proxy)

Create /etc/nginx/sites-available/notifyli.conf:

Enable the site:

Step 5: SSL Certificate (Let's Encrypt)

Step 6: Configure Firewall

Step 7: Create Log Directories

Step 8: Configure Supervisor

Install Supervisor:

Create /etc/supervisor/conf.d/notifyli.conf:

Step 9: Enable and Start Services

Step 10: Verify Deployment

Managing Services

Maintenance & Monitoring

Daily Restart (Required)

Create a cron job to restart services daily at 3 AM to mitigate PHP daemon memory growth over time:

Add:

Log Rotation

Create /etc/logrotate.d/notifyli:

Monitoring

Integration Guide

Client UI Integration (Example: public/index.php)

The example UI demonstrates key integration points:

Required Fields:

WebSocket Connection:

Message Types:

Regular chat message (user to user):

Direct notification (system to user):

External System Integration (Publishing Notifications)

External applications can send notifications to connected users via Redis pub/sub.

PHP Integration:

Direct Redis Integration (Any Language):

Message Format:

Field Type Required Description
user_id int ✓ Target user ID
room string ✓ Target channel (e.g., "/user/123" for private)
message string ✓ Notification content
from string ✗ Sender identifier (default: "system")
timestamp int ✗ Unix timestamp

External Redis Check by client_id

If your external system is connected to the same Redis instance, you can detect active users by searching client_id inside the room hashes (notifyli:connections:{room}).

Single room check:

All rooms check (returns matching room key, user field, and payload):

If this returns data, the user session with that client_id is currently connected.

Testing Notifications (console/send-notification.php)

For development and testing:

Production Operations

Service Management

Monitoring

Check Service Health:

Monitor Redis:

Monitor WebSocket Server:

Monitor Nginx:

Troubleshooting

WebSocket Server Won't Start:

Notification Bridge Won't Connect:

Notifications Not Delivered:

High Memory Usage:

SSL Certificate Issues:

Performance Tuning

PHP-FPM Optimization (/etc/php/8.2/fpm/pool.d/www.conf):

Nginx Optimization:

Redis Optimization (/etc/redis/redis.conf):

System Limits (/etc/security/limits.conf):

Backup & Recovery

Backup Redis Data:

Backup Application:

API Reference

PHP API (for External Systems)

WebSocket Protocol

Client → Server (user sends message):

Server → Client (broadcast or notification):

Redis Commands

Project Structure

Architecture Components

1. WebSocket Server (server.php)

2. Notification Bridge (notification-bridge.php)

3. Web UI Client (public/index.php)

4. Redis State Manager

5. Redis Message Broker

Performance Characteristics

Security Considerations

License

This project is licensed under GPL-3.0-or-later.


All versions of notifyli with dependencies

PHP Build Version
Package Version
Requires vlucas/phpdotenv Version *
predis/predis Version ^2.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package neuralpin/notifyli contains the following files

Loading the files please wait ...