Page 1 of 2 12 LastLast
Results 1 to 15 of 22

Thread: PHP 5.3 Now Available in EasyApache

  1. #1
    cPanel Staff cPanelCory's Avatar
    Join Date
    Jan 2008
    Location
    Houston
    Posts
    36

    Default PHP 5.3 Now Available in EasyApache

    We are currently releasing PHP 5.3 in Easyapache builds of 4932 and higher.

    Here are the release notes:


    1. The following settings are no longer supported with PHP 5.3. The EA3 upgrade to 5.3.1 will comment out these settings in your php.ini file:
      • zend_extension_ts
      • zend_extension_debug
      • extension_ts
      • zend.ze1_compatibility_mode

    2. If the php.ini file has no date.timezone setting, it will be given one that matches PHP's best guess about what the correct timezone is. In 5.3.1 all date functions generate warnings when the local timezone has not been explicitly specified.
    3. There is currently no version of Zend Optimizer available for PHP 5.3. According to Zend, a version of the Optimizer and Encoder that is compatabile with PHP 5.3 will be released "in the first quarter of 2010" Zend Forums; View topic - Zend Optimizer for Php 5.3.0 It's possible that PHP scripts encoded with previous versions of Zend Guard will not work with this new version of Zend Optimizer once it is released.
    4. The PHP OpenSSL extension no longer supports OpenSSL versions before 0.9.7.
    5. PHP 5.3 introduces the E_DEPRECATED and E_USER_DEPRECATED error reporting levels. E_DEPRECATED is included in E_ALL, so many existing manipulations of the PHP error reporting level that attempt to mask warnings will fail to mask out the E_DEPRECATED messages. EasyApache will attempt to mask out E_DEPRECATED from error_reporting setting of the main system php.ini file as part of the upgrade to PHP 5.3. You are still likely to see E_DEPRECATED warnings whenever a custom php.ini is used and when legacy scripts manipulates the error_reporting level directly. You may also want to set the display_errors setting in the php.ini file to off. Note that functions marked as deprecated in PHP 5.3 will be removed entirely in PHP 6.0. Silencing the E_DEPRECATED messages should be considered a short term fix. Code that generates these messages must eventually be updated for compliance with PHP 6.0.
    6. To help deal with the migration difficulty cause by the E_DEPRECATED changes in PHP 5.3, EasyApache includes an optional patch to remove E_DEPRECATED from E_ALL. This patch is intended to be used as a short term fix while legacy code is updated to be made aware of the E_DEPRECATED error level. Applying this patch means that legacy code will not accidentally turn on E_DEPRECATED messages while attempting to silence warnings (the traditional E_ALL & ~E_WARNING setting.) This patch may be selected for inclusion in the build via the EasyApache User Interface.
    7. The following php.ini settings have been marked as deprecated in PHP 5.3. It is recommended that you disable these settings or silence deprecated warnings until you are able to upgrade so warnings will not be generated every time a PHP page is processed.
      • define_syslog_variables
      • register_globals
      • register_long_arrays
      • safe_mode
      • magic_quotes_gpc
      • magic_quotes_runtime
      • magic_quotes_sybase
    8. The following functions have been marked as deprecated in PHP 5.3. It is recommended that you update any code which uses them or silence deprecated warnings until an upgrade is possible.
      • session_register
      • session_unregister
      • session_is_registered
      • define_syslog_variables
      • split
    9. The ereg extension has been marked as deprecated in PHP 5.3. It is recommended that you update any code which uses this extension or silence deprecated warnings until an upgrade is possible.
    10. The mail headers patch is no longer provided with PHP 5.3. Use the mail.add_x_header php.ini directive instead.
    11. The following extensions have been removed from PHP 5.3:
      • mhash
      • pspell
      • msql
    12. The following extensions are no longer shipped with PHP 5.3 and are now available via PECL:
      • ming
      • fbsql
      • ncurses
      • fdf
    13. The following new extensions are available with PHP 5.3:
      • phar
      • sqlite3
      • fileinfo
      • intl (requires libicu)
      • enchant (requires libenchant)
    14. It is recommended that the PHP based cPAddons be updated before upgrading to PHP 5.3. Each cPAddon was analyzed and, where possible, updated to ensure operation without site vistor warnings.
    15. mysqlnd is currently not support or supplied with EasyApache. Please see this post for the reason: PHP 5.3 Now Available in EasyApache
    Last edited by cPanelKenneth; 01-21-2010 at 02:00 PM. Reason: formatting. added link to mysqlnd post.
    Cory McIntire
    QA Sr. - Security Team
    cPanel, Inc.

  2. #2
    Registered User
    Join Date
    Aug 2009
    Posts
    3

    Default Hooray!

    Great work, guys! Thanks for an early Christmas present

  3. #3
    Registered Member
    Join Date
    Sep 2009
    Location
    United Kingdom
    Posts
    129
    cPanel/WHM Access Level

    DataCenter Provider

    Default

    I've asked this in the general forum, however I'll post it in this thread too... mysqlnd doesn't appear to feature at all in the EasyApache PHP build and there's no option in EasyApache to include it either. I have checked phpinfo() too but cannot see mysqlnd there!

    Configure line doesn't mention mysqlnd:

    './configure' '--disable-pdo' '--enable-bcmath' '--enable-calendar' '--enable-exif' '--enable-ftp' '--enable-gd-native-ttf' '--enable-libxml' '--enable-magic-quotes' '--enable-mbstring' '--enable-sockets' '--enable-zip' '--prefix=/usr/local' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-freetype-dir=/usr' '--with-gd' '--with-imap=/opt/php_with_imap_client/' '--with-imap-ssl=/usr' '--with-jpeg-dir=/usr' '--with-kerberos' '--with-libxml-dir=/opt/xml2/' '--with-mysql=/usr' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-mysqli=/usr/bin/mysql_config' '--with-png-dir=/usr' '--with-xpm-dir=/usr' '--with-zlib' '--with-zlib-dir=/usr'

    The additional configure parameter as described here PHP: Installation - Manual is required to enable mysqlnd, and when it's enabled it should show in phpinfo().

    Since this is one of the most popular features of PHP 5.3, when do you plan to include this extra support in EasyApache? Additionally is there any reason why it wasn't included in the most recent EA build?

  4. #4
    cPanel Development cPanelKenneth's Avatar
    Join Date
    Apr 2006
    Posts
    4,279
    cPanel/WHM Access Level

    Root Administrator

    Default

    Support for the mysqlnd is not available with PHP 5.3 as provided by EasyApache. This extension is not backwards compatible with the authentication scheme supported by the older mysql extension. Any MySQL server with a MySQL user account that contains an older password from MySQL 4.0 or lower will encounter errors when using mysqlnd.
    Kenneth
    Development
    cPanel, Inc.

  5. #5
    Registered Member
    Join Date
    Jun 2003
    Location
    Bharat
    Posts
    263
    cPanel/WHM Access Level

    Root Administrator

    Default

    Quote Originally Posted by cpanelcory View Post
    13. The following new extensions are available with PHP 5.3:

    * phar
    * sqlite3
    * fileinfo
    * intl (requires libicu)
    * enchant (requires libenchant)
    They are not there on my VPS running
    cPanel 11.25.0-R42399 - WHM 11.25.0 - X 3.9
    CENTOS 5.4 i686 virtuozzo

    On dedicated they are present.
    Vinayak Sharma
    Vinsar.Net - Quality WebHosting Services at Economical Price USA, & European Servers
    Book Your Domain with Confidence Reliable Domain Reseller Account

  6. #6
    cPanel Quality Assurance Analyst cPanelDon's Avatar
    Join Date
    Nov 2008
    Location
    Houston, Texas, U.S.A.
    Posts
    2,554
    cPanel/WHM Access Level

    DataCenter Provider

    Lightbulb

    Quote Originally Posted by Vinsar View Post
    They are not there on my VPS running
    cPanel 11.25.0-R42399 - WHM 11.25.0 - X 3.9
    CENTOS 5.4 i686 virtuozzo

    On dedicated they are present.
    For the system where you do not see the extensions, does the build profile have the option named "always use latest php" enabled or disabled?

    The following command could be used to help obtain the above information:
    Code:
    # grep "phps" /var/cpanel/easy/apache/prefs.yaml
    When not using the option "always use latest php" and instead explicitly/manually selecting PHP 5.3.1 in EasyApache (when configuring the build profile), do the extensions show as expected?

    It will also help to know the output of the following two commands:
    Code:
    # /scripts/easyapache --version
    # /scripts/easyapache --latest-versions

  7. #7
    Registered Member
    Join Date
    Jun 2003
    Location
    Bharat
    Posts
    263
    cPanel/WHM Access Level

    Root Administrator

    Default

    Quote Originally Posted by cPanelDon View Post
    For the system where you do not see the extensions, does the build profile have the option named "always use latest php" enabled or disabled?
    Yes "always use latest php" is enabled.

    Quote Originally Posted by cPanelDon View Post
    It will also help to know the output of the following two commands:
    Code:
    # /scripts/easyapache --version
    # /scripts/easyapache --latest-versions
    Code:
    root@tsrv [~]# /scripts/easyapache --version
    Easy::Apache v3.2.0 Build 4936
    
    [cpanel]
    11.25.0-RELEASE_42399
    
    
    [apache]
    Server version: Apache/2.2.14 (Unix)
    Server built:   Dec 29 2009 14:47:30
    Cpanel::Easy::Apache v3.2.0 rev4929
    
    
    [server]
    Linux tsrv.thiserver.com 2.6.18-128.1.1.el5.028stab062.3 #1 SMP Sun May 10 18:54:51 MSD 2009 i686 i686 i386 GNU/Linux
    Code:
    root@tsrv [~]# /scripts/easyapache --latest-versions
    Easy::Apache v3.2.0 Build 4936
    
    [Apache]
            1.3.41, 2.0.63, 2.2.14
    
    [PHP 4]
            4.4.6, 4.4.7, 4.4.8, 4.4.9
    
    [PHP 5]
            5.2.9, 5.2.11, 5.2.12, 5.3.1
    Quote Originally Posted by cPanelDon View Post
    When not using the option "always use latest php" and instead explicitly/manually selecting PHP 5.3.1 in EasyApache (when configuring the build profile), do the extensions show as expected?
    Yes the extensions showed, and it worked.

    Thank You.
    Vinayak Sharma
    Vinsar.Net - Quality WebHosting Services at Economical Price USA, & European Servers
    Book Your Domain with Confidence Reliable Domain Reseller Account

  8. #8
    Registered Member
    Join Date
    Dec 2002
    Posts
    248

    Default

    Quote Originally Posted by cpanelkenneth View Post
    Support for the mysqlnd is not available with PHP 5.3 as provided by EasyApache. This extension is not backwards compatible with the authentication scheme supported by the older mysql extension. Any MySQL server with a MySQL user account that contains an older password from MySQL 4.0 or lower will encounter errors when using mysqlnd.
    Shouldn't there just be a warning about this on the checkbox option? I'd question someone using PHP 5.3.x and MySQL 4.0 or MySQL with old password support.

  9. #9
    cPanel Development cPanelKenneth's Avatar
    Join Date
    Apr 2006
    Posts
    4,279
    cPanel/WHM Access Level

    Root Administrator

    Default

    Quote Originally Posted by VeZoZ View Post
    Shouldn't there just be a warning about this on the checkbox option? I'd question someone using PHP 5.3.x and MySQL 4.0 or MySQL with old password support.
    The problem is the password hash is from the older version of MySQL.

    MySQL itself doesn't need configured for old password support in this scenario.
    Kenneth
    Development
    cPanel, Inc.

  10. #10
    Registered Member
    Join Date
    Dec 2002
    Posts
    248

    Default

    Quote Originally Posted by cpanelkenneth View Post
    The problem is the password hash is from the older version of MySQL.

    MySQL itself doesn't need configured for old password support in this scenario.

    Isn't this just an issue if the person has this set "Use old style (4.0) passwords with MySQL® 4.1+ (required if you have problems with PHP apps authenticating)". If this is a newer server it would be using the password setup from 4.1+ already? So it's more legacy to deal with people who were running a cPanel server before mysql 4.1?

    Seems strange for people to still be using this to begin with at this point. I might be just misinformed though did a migration to PHP 5.3 and mysqlnd on a non cPanel setup. Only headache was legacy mysql passwords that were using the old style passwords. We knew of this before hand though so was relatively easy to solve.

  11. #11
    cPanel Development cPanelKenneth's Avatar
    Join Date
    Apr 2006
    Posts
    4,279
    cPanel/WHM Access Level

    Root Administrator

    Default

    Quote Originally Posted by VeZoZ View Post
    Isn't this just an issue if the person has this set "Use old style (4.0) passwords with MySQL® 4.1+ (required if you have problems with PHP apps authenticating)". If this is a newer server it would be using the password setup from 4.1+ already? So it's more legacy to deal with people who were running a cPanel server before mysql 4.1?
    According to the information I have it does not depend upon that setting ( Use old style (4.0) passwords ).

    Quote Originally Posted by VeZoZ View Post
    I
    Seems strange for people to still be using this to begin with at this point. I might be just misinformed though did a migration to PHP 5.3 and mysqlnd on a non cPanel setup. Only headache was legacy mysql passwords that were using the old style passwords. We knew of this before hand though so was relatively easy to solve.
    That is exactly what I'm referring to. As long as those legacy passwords reside in MySQL's tables, mysqlnd will not work for the accounts.

    The older PHP mysql extension supports an authentication handshake where it can fallback on the older password style.

    The mysqlnd purposely does not support the fallback.
    Kenneth
    Development
    cPanel, Inc.

  12. #12
    Registered Member
    Join Date
    Jan 2010
    Posts
    13

    Default

    I still don't understand why mysqlnd is not supported. Why is a warning not sufficient enough for users before they configure with mysqlnd?
    Last edited by vashrf; 01-20-2010 at 06:23 PM.

  13. #13
    Registered Member
    Join Date
    Jan 2010
    Posts
    13

    Default

    from http://forums.cpanel.net/f145/mysqln...tml#post616841
    Please do not cross-post in different threads. Additionally, if this is a feature desired I would consider not wording it as a demand or question without including reasons why you believe it may be better than the current options available.

    This thread is being closed so that relevant discussion may continue from your original post as noted below:
    Original Post: cPanel Forums - View Single Post - vashrf - PHP 5.3 Now Available in EasyApache
    Original Thread: PHP 5.3 Now Available in EasyApache - cPanel Forums
    First, I cross-posted in different threads because I thought the other thread was dead since I did not receive an answer. I admit that I was hasty since I hardly waited a day. So, sorry about that and I will make sure to not repeat my mistake.

    Second, I did not word it as a demand. I worded it as a question because I read all the previous posts about it and still did not understand why a warning was insufficient. So, I posted a question asking exactly that, "I still don't understand why mysqlnd is not supported. Please explain why a warning is insufficient for users before they configure with mysqlnd?"
    I believe you misinterpreted the question as a demand because when a person posts a message that person is not able to include the inflection of his/her thoughts or voice.
    In my case, I am self taught and in this area of computing I am a hardly an intermediate. And therefore, I am asking for clarification.

    So, please explain why a warning is insufficient for users before they configure with mysqlnd?
    And, I believe mysqlnd is better because of the async feature.
    Last edited by vashrf; 01-20-2010 at 11:21 PM.

  14. #14
    cPanel Development cPanelKenneth's Avatar
    Join Date
    Apr 2006
    Posts
    4,279
    cPanel/WHM Access Level

    Root Administrator

    Default

    Why Is The mysqlnd Driver Not Supported?

    1. The primary advantage of mysqlnd is to have a MySQL driver for PHP with a license that is compatible with the PHP license. MySQL granted an exception for PHP to use libmysqlclient after MySQL changed the license of the libraries from LGPL to GPL (see: MySQL addresses open-source license problem - CNET News ). The PHP license is not compatible with the GPL ( see: Licenses - Free Software Foundation ).
    2. The mysqlnd extension breaks compatibility with short password hashes. Any MySQL user account that has a short password hash cannot authenticate using mysqlnd. This limitation also means mysqlnd cannot work with MySQL 4.0. Newer versions of MySQL that have short password hashes enabled are also incompatible with mysqlnd.
    3. Though in development for a while msyqlnd is essentially experimental code with nowhere near the testing of libmysqlclient. Since MySQL integration with PHP is an absolute requirement for most systems it makes little sense to swap out a known working back-end for an experimental one that offers little tangible benefits.


    Why Not Just Provide a Warning?
    1. People tend to ignore warnings.
    2. Because mysqlnd is not as reliable as libmysqlclient in the matter of authentication, use of mysqlnd will inevitably lead to confusion. For example, if an account that has a short MySQL password hash is transferred into the system, applications that use that login will fail unexpectedly. More confusing is testing the login credentials on the command line will succeed.

      Some experiences of people encountering this problem:

      Blogs - PHP: mysqlnd cannot connect to MySQL 4.1+ using old authentication
      php5.3 and mysqlnd authentication issue - Thomas Rabaix
      MySQL PHP incompatibility. - Stack Overflow


    Using mysqlnd

    Please note the above does not mean we are opposed to use of mysqlnd, nor its eventual inclusion in EasyApache. Rather we would like the mysqlnd developers to address the key short-coming in the driver first. This short-coming is documented here: PHP Bugs: #50815: Implement 323 short password hash fallback in mysqlnd

    For those that want to use mysqlnd with an EasyApache install it is possible by using the rawopts provision in EasyApache. This allows you to specify your own flags to be passed to PHP's configure script. More information this is available at CustomConfigureFlags < EasyApache3 < TWiki
    Kenneth
    Development
    cPanel, Inc.

  15. #15
    Registered Member
    Join Date
    Dec 2002
    Posts
    248

    Default

    So just to confirm the worry is not current users being created or things like that. MySQL old hashes are not being used in those cases typically unless enforced as such. So through my.cnf adding the old passwords line or someone setting it in the whm tweak settings which adds it to the my.cnf

    The real worry at this point is coming from people who have had accounts since old passwords started. In their case they could be continuing even when moving from server to server still using old short hash format. Only way to fix them is to reset their passwords.

Page 1 of 2 12 LastLast

Similar Threads

  1. Replies: 1
    Last Post: 04-06-2014, 09:35 AM
  2. Replies: 10
    Last Post: 11-02-2011, 01:59 AM
  3. Replies: 15
    Last Post: 08-15-2011, 01:27 PM
  4. Replies: 33
    Last Post: 09-10-2006, 12:56 AM
  5. EasyApache errors. broken php/unrecognized php.ini
    By skuhn718 in forum cPanel & WHM Discussions
    Replies: 1
    Last Post: 07-01-2006, 09:23 AM
bargain