SquirellMail PHP error

Discussion in 'General' started by cryptic, Jan 13, 2007.

  1. cryptic

    cryptic Member

    I am using the SquirrelMail ISPConfig package.

    I noticed, on each email message page there is this error at the bottom.

    SquirrelMail notice messages
    Category: PHP
    Message: preg_split() expects parameter 4 to be long, string given
    FILE: /home/admispconfig/ispconfig/web/squirrelmail/functions/imap_messages.php
    LINE: 926
    Category: PHP
    Message: Invalid argument supplied for foreach()
    FILE: /home/admispconfig/ispconfig/web/squirrelmail/functions/mime.php
    LINE: 52

    How do I fix this?

    TIA
     
  2. falko

    falko Super Moderator Howtoforge Staff

    I think you must debug both files to find out what they are doing around line 926 (/home/admispconfig/ispconfig/web/squirrelmail/functions/imap_messages.php) and 52 (/home/admispconfig/ispconfig/web/squirrelmail/functions/mime.php). You could use echo statements to let the files display the contents of certain variables.
     
  3. omni

    omni New Member

    I am getting the EXACT same errors, did you find a solution for this? thanks in advance.

    I just realized I am running SquirrelMail 1.5.1, which appears to be a devlopment release?

    cryptic, are you running the same version?

    I downloaded it from the ISPConfig.org website, why would they release the .pkg from a development build and not a stable build?

    could this be causing the problems?
     
    Last edited: Jan 31, 2007
  4. cryptic

    cryptic Member

    The problem still exists on a customers box. I haven't had time to fix it. Yes, it is the SquirrelMail package from the ispconfig.org website.
     
    Last edited: Jan 31, 2007
  5. omni

    omni New Member

    what version of Squirrelmail is on the customers box where the problems exist?
     
  6. cryptic

    cryptic Member

    It's 1.5.1
     
  7. martinfst

    martinfst Member Moderator

    What version of PHP are your running? I have the same "problem" with 1.5.1, and I'm running PHP4 on this particular box.

    Note: the message is just a warning. It doesn't break anything AFAICT
     
  8. cryptic

    cryptic Member

    Yes, it doesn't seem to break anything either. It's just annoying :)

    This is PHP 4.3 on CentOS 4.4
     
  9. omni

    omni New Member

    Annoying indeed.

    I think I am running PHP5? (how can I find out for sure?) on Ubuntu 6.06LTS
     
  10. martinfst

    martinfst Member Moderator

    Ubuntu 6.0.6 probably has php4.
    Use
    Code:
    ~# dpkg-query -s php4
    to get an output like:
    Code:
    ~# dpkg-query -s php4
    Package: php4
    Status: install ok installed
    Priority: optional
    Section: universe/web
    Installed-Size: 24
    Maintainer: Debian PHP Maintainers <[email protected]>
    Architecture: all
    Version: 4:4.4.2-1.1
    Depends: libapache2-mod-php4 (>= 4:4.4.2-1.1) | libapache-mod-php4 (>= 4:4.4.2-1.1) | php4-cgi (>= 4:4.4.2-1.1), php4-common (>= 4:4.4.2-1.1)
    Description: server-side, HTML-embedded scripting language (meta-package)
     This package is a meta-package that, when installed, guarantees that you
     have at least one of the four server-side versions of the PHP4 interpreter
     installed.  Removing this package won't remove PHP4 from your system, however
     it may remove other packages that depend on this one.
     .
     PHP4 is an HTML-embedded scripting language. Much of its syntax is borrowed
     from C, Java and Perl with a couple of unique PHP-specific features thrown
     in. The goal of the language is to allow web developers to write dynamically
     generated pages quickly.
     .
     Homepage: http://www.php.net/
    
    
    Trying with php5 gives
    Code:
    Package: php5
    Status: purge ok not-installed
    Priority: optional
    Section: web
    
    , meaning I removed it, but left the config files.
     
  11. omni

    omni New Member

    I am just the opposite. I am using php5

    sudo dpkg-query -s php4
    Code:
    Package `php4' is not installed and no info is available.
    Use dpkg --info (= dpkg-deb --info) to examine archive files,
    and dpkg --contents (= dpkg-deb --contents) to list their contents.
    sudo dpkg-query -s php5
    Code:
    Package: php5
    Status: install ok installed
    Priority: optional
    Section: web
    Installed-Size: 20
    Maintainer: Debian PHP Maintainers <[email protected]>
    Architecture: all
    Version: 5.1.2-1ubuntu3.4
    Depends: libapache2-mod-php5 (>= 5.1.2-1ubuntu3.4) | php5-cgi (>= 5.1.2-1ubuntu3.4), php5-common (>= 5.1.2-1ubuntu3.4)
    Description: server-side, HTML-embedded scripting language (meta-package)
     This package is a meta-package that, when installed, guarantees that you
     have at least one of the four server-side versions of the PHP5 interpreter
     installed.  Removing this package won't remove PHP5 from your system, however
     it may remove other packages that depend on this one.
     .
     PHP5 is an HTML-embedded scripting language. Much of its syntax is borrowed
     from C, Java and Perl with a couple of unique PHP-specific features thrown
     in. The goal of the language is to allow web developers to write dynamically
     generated pages quickly.
     .
     Homepage: http://www.php.net/
     
  12. martinfst

    martinfst Member Moderator

    Squirrelmail 1.5 is for php5?

    Just had a quick look at the changelog of squirrelmail, and I believe the 1.5 branch is targeted at php5, so when installing/using php4 this might give a problem.

    From the changelog:
    Code:
    Fixes for increased error checking in PHP 5.0.5+ array_shift() (#1237160).
    Squirrelmail 1.4 only mentions php4 versions. I guess, because the perfect setups for ISPConfig assumes php5 install (which I did not for all my systems, still have php4 legacy to support), the contributor of the squirrelmail package used the development branch.

    Krrrrrr,
    looking up INSTALL document of 1.5.1 in repository .......... found!
    Nope, sorry the pre-requisite is php 4.1.0.

    Krrr, , Krrrr
    looking for change date of imap_messages.php script in SVN repository........... found!
    Code:
    Modified Sun Feb 12 18:21:50 2006 UTC (11 months, 2 weeks ago) by stekkel
    Now that doesn't look like recent changes. So I guess we're on our own with 1.5.1.

    On the other hand I have to admit I'm a bit surprised now also, why the development package is used and not the latest stable. Similar things going on for awstats (and maybe other packages). Guess we should look for "official" maintainers of add-on packages to ISPConfig, based of official stable releases, who will take care of keeping up-2-date .pkg files. Volunteers? :rolleyes:
     
  13. omni

    omni New Member

    so here is are a couple (semi-unrelated) questions then.

    1) how do you remove .pkg's from ISPconfig?

    2) is there a .pkg of the stable squirrelmail release?

    3) if I remove the squirrelmail.pkg and say use the 'outlook squirrelmail' package or find a stable release .pkg, will I lose my squirrelmail settings and e-mails? btw, where are the e-mails stored then on the server?

    thanks.
     
  14. martinfst

    martinfst Member Moderator

    Dunno. Haven't seen a post/manual/guidance/howto.
    No
    Loose Squirrelmail settings and plugins: yes; Loose email: no. These are stored in a Maildir subdirectory of <web>/users/username or something (traverse the tree.....)
     

Share This Page