Entering the Zend Server license for IBM i via the User Interface, the web page will hang during the process.
No acknowledgment returned showing the license has been applied successfully.

Step-by-step guide


  1. Restart the Zend Server and check if the license update completed anyway.
    Use the Zend Server Green Screen menu options(update/view):
    GO ZENDPHP74/ZSMENU -> select option - > 80. Configurations -> 7. Update Zend Server License
    Or jump directly to the Configuration menu:
    GO ZENDPHP74/ZSCONFIG  




  2. Other manual license update if needed:
    Stop the Zend Server environment - use the green screen menu:
    For Zend Server version 8.5 ->  GO ZENDSVR6/ZSMENU
    For Zend Server version 9.1, 2018.x, 2019.x ->  GO ZENDPHP7/ZSMENU

    License has to be set in two places:

    a) '/usr/local/zendphp74/etc/conf.d/ZendGlobalDirectives.ini
    b) '/usr/local/zendphp74/var/db/zsd.db'

    a)'/usr/local/zendphp74/php/active/etc/conf.d/ZendGlobalDirectives.ini
    b) '/usr/local/zendphp74/var/db/zsd.db'

    To register the license, we need to run the below SQLite SQL statements,
    to do so please download the following SQLite browser:
    http://sqlitebrowser.sourceforge.net/

    Once installed on your Windows, map a network drive to the IBM i file system so you can share the IFS  files

    Fix the license - execute this query on zsd.db using the SQLlite tool :
    update ZSD_DIRECTIVES set DISK_VALUE = 'Your_Order#' where NAME = 'zend.user_name';
    update ZSD_DIRECTIVES set DISK_VALUE='Your_License_key' where NAME='zend.serial_number';

    For Zend Server version 2019.0.x use the following SQLite commands:

    update ZSD_ZEND_COMMON_DIRECTIVES set DISK_VALUE = 'Your_Order#' where NAME = 'zend.user_name';
    update ZSD_ZEND_COMMON_DIRECTIVES set DISK_VALUE='Your_License_key' where NAME='zend.serial_number'



  3. You can try and use the following script as well, change the following:

    $serial_number = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
    $user_name = 'user_name';


    <?php
    
    
    // set zend license variables to be updated
    $serial_number = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
    $user_name = 'user_name';
    
    // connect to Zend Server database
    $sqliteDebug = true;
    try {
        $sqlite = new SQLite3('/usr/local/zendsvr6/var/db/zsd.db');
      //$sqlite = new SQLite3('/usr/local/zendphp7/var/db/zsd.db');
    } catch (Exception $exception) {
        echo '<p>There was an error connecting to the database!</p>';
    
        if ($sqliteDebug) {
            echo $exception->getMessage();
        }
    }
    
    // perform updates
    $query = "update ZSD_DIRECTIVES set DISK_VALUE = '" . $user_name . "' where NAME = 'zend.user_name'";
    // for Zend Server 2019.0.x PHP 7.x
    //$query = "update ZSD_ZEND_COMMON_DIRECTIVES set DISK_VALUE = '" . $user_name . "' where NAME = 'zend.user_name'"; 
    
    $sqliteResult = $sqlite->query($query);
    
    if (!$sqliteResult and $sqliteDebug) {
        echo "<p>There was an error updating zend.user_name: $query</p>";
    
        echo $sqlite->lastErrorMsg();
    } else {
        echo "<p>zend.user_name updated successfully: $user_name</p>";
    }
    
    $query = "update ZSD_DIRECTIVES set DISK_VALUE = '" . $serial_number . "' where NAME = 'zend.serial_number'";
    // for Zend Server 2019.0.x PHP 7.x 
    // $query = "update ZSD_ZEND_COMMON_DIRECTIVES set DISK_VALUE = '" . $serial_number . "' where NAME = 'zend.serial_number'";
    
    $sqliteResult = $sqlite->query($query);
    
    if (!$sqliteResult and $sqliteDebug) {
        echo "<p>There was an error updating zend.serial_number: $query</p>";
    
        echo $sqlite->lastErrorMsg();
    } else {
        echo "<p>zend.serial_number updated successfully: $serial_number</p>";
    }
    
    




    Registering the Zend Server
     
    Zend Server license


You may also want to use visual panels to communicate related information, tips or things users need to be aware of.

Related articles

Related articles appear here based on the labels you select. Click to edit the macro and add or change labels.



Related issues