phpsysinfo-3.0.4: zend & lsb_release...

Help
Julie
2010-06-02
2012-12-12
  • Julie
    Julie
    2010-06-02

    I am using: Debian 5.0.4 with PHP 5.2.6-1+lenny8, Apache2
    I have 2 problems I haven't been able to solve or find an answer to after much searching and testing. If anyone can help with either that would be great :D, thank you.

    1.) phpsysinfo versions: phpsysinfo-3.0.4.tar.gz, phpsysinfo_3.0.4.orig.tar.gz, & phpSysInfo-3.0-RC6.tar.gz - All 3 have the same error and web page will not load:
    Strict Standards: Implicit cloning object of class 'Error' because of 'zend.ze1_compatibility_mode' in /var/www/phpsysinfo/includes/error/class.Error.inc.php  on line 70

    Unless I turn off compatibility_mode for zend in php.ini:
    zend.ze1_compatibility_mode = Off

    Then the page will load. Does anyone have an idea what is the proper method to fix this without turning off zend's comp mode?

    2.) phpsysinfo-3.0.4.tar.gz:
    Page loads, exclamation point (top left) states:

    find_program(lsb_release)
    program not found on the machine
    ./xml.php on line 45
    ./includes/output/class.WebpageXML.inc.php on line 138 in function run()
    ./includes/xml/class.XML.inc.php on line 449 in function getXml()
    ./includes/xml/class.XML.inc.php on line 428 in function _buildXml()
    ./includes/os/class.OS.inc.php on line 70 in function getSys()
    ./includes/os/class.Linux.inc.php on line 548 in function build()
    ./includes/os/class.Linux.inc.php on line 499 in function _distro()
    ./includes/class.CommonFunctions.inc.php on line 98 in function executeProgram( "lsb_release", "-a 2> /dev/null", "", true )

    (lsb_release can be found twice in (phpsysinfo_3.0.4/includes/os/class.Linux.inc.php starting at line 498-538)

    In shell:
    dpkg -l | grep lsb
    reply: lsb-base
    aptitude install lsb_release
    reply: Couldn't find any package whose name or description matched "lsb_release"
    apt-get install lsb_release
    reply: E: Couldn't find package lsb_release

    Found regarding lsb_release: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=444678

    So either I live with the error wondering what I'm missing and constantly clicking on it to see if there are any other new errors.
    Or I turn off debug mode and not be informed of any errors :/
    Neither solution is optimal.

    Thank you again :)
    PS The email on my profile is not valid, I'll check back here for replies.

     
  • Erkan
    Erkan
    2010-06-02

    Hello,

    1) Can you try to disable "zend.ze1_compatibility_mode" in a .htaccess instead of php.ini ?

    http://php.net/manual/en/ini.core.php
    (This feature has been DEPRECATED and REMOVED  as of PHP 5.3.0. )

    2) I think "lsb_release" is include in the "base-files" package, so you can try apt-get install base-files

    Regards,

     
  • Julie
    Julie
    2010-06-03

    Thank you jacky672 for your reply :)), very nice of you.
    1.) Since it has been deprecated that I shan't worry the mode is set to off hehe :D

    2.) I do have the 'base-files' already:
    ii  base-files 5lenny5 Debian base system miscellaneous files
    But what the heck, I'll do it again:

    apt-get install base-files
    base-files is already the newest version.
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

    And according to the link ( http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=444678 ) :
    Package: base-files
    lsb-release README.Debian says:
    Distribution-specific information should be *separately provided* in /etc/lsb-release; it is no
    longer provided in this package.  It is my hope that in Debian, this will be managed by the
    base-files maintainer (who already maintains the debian_version file).
    etc.

    Thank you again

    My note: Problem 1 solved, Problem 2 not yet.

     
  • Erkan
    Erkan
    2010-06-03

    Message "program not found on the machine" is not a real problem here, as you can see in phpsysinfo_3.0.4/includes/os/class.Linux.inc.php :

    line 499 : if "lsb_release" return null (program not found for example), phpsysinfo read "data/distro.ini" to retrieve a filename. Then phpsysinfo read these files : /etc/debian_release or /etc/debian_version or /etc/lsb_release depending of your OS.

    example for me :

    $> cat /etc/lsb_release
    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=9.04
    DISTRIB_CODENAME=jaunty
    DISTRIB_DESCRIPTION="Ubuntu 9.04"
    

    If you want to disable this message, put PSI_DEBUG to false in the config file…or just in line 499

     
  • Julie
    Julie
    2010-06-03

    Thank you again jacky672 :D very kind of you.
    Yes I would like to make an adjustment to the class.Linux.inc.php so that I don't have to disable debugging (then not be informed of any other problems).
    This is line 499 of phpsysinfo_3.0.4/includes/os/class.Linux.inc.php :

    if (CommonFunctions::executeProgram('lsb_release', '-a 2> /dev/null', $distro_info, PSI_DEBUG)) {
    

    Would you know what I would change that line/s to?

    Thank you :)

    PS. Is sourceforge extremely sloooooooow these days or is it my connection? :/

     
  • Erkan
    Erkan
    2010-06-03

    You can try this :

    if (CommonFunctions::executeProgram('lsb_release', '-a 2> /dev/null', $distro_info, false)) {
    

    Yes I think sourceforge website is often slow…

    Regards,

     
  • Julie
    Julie
    2010-06-04

    Yay, 3 cheers for jacky672! :D error is gone, that did it :) Thank you for the help, and the great scripts, very clever!
    I can't edit topic to 'solved', so
    SOLVED- both problems :)

    (I'm now attempting to enable some of the plugins; have problems, I'll do a new post after I sort my mess of notes out so that it's easy for others users to find if looking; sorry if too many post)