DeveloperSide.NET Forums
February 22, 2020, 06:28:07 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Stability, Production-readiness, and Legacy Releases...  (Read 18745 times)
0 Members and 1 Guest are viewing this topic.
admin
Administrator
Master of All Subjects
*****
Posts: 3272


View Profile WWW Email
« on: July 16, 2004, 10:33:30 PM »

If you are considering upgrading to the newest and greatest, feature-full, release of Apache, PHP, MySQL, or anything else, please only do so on a non-production system.

As with any new 'major version' branch release, whether you are talking about -- a component of WAMP, the Linux kernel, PostgreSQL, or any other software/program -- a slew of changes and bugs will always plague the new release.  This has been demonstrated over and over -- yet somehow only a few learn the lesson.

While you might not experience any difficulties -- [which in itself is a sure sign that you have no real reason to be running this release: What new features do you require the use of? What performance gain, if there is any, do you seek and what is the purpose of that extra 2%?] -- many other people will.  Bugs will be fixed, more bugs will be found, other bugs will be introduced, problems from changes (and even bug fixes) will break compatibility, new features will break everything, other software will not work right, and so on and on...

True stability and production-readiness can take at a minimum anywhere from 3 to 6 months to achieve after a new 'major version' release, and in most cases -- not until about 3/5ths of the way to another new 'major version' branch release.  This is how it works and nothing will change this. By the way, I'm talking about the 1st signs of stability....

In most cases -- a branch is not truly considered stable and fit for production until a new 'major version' branch is officially released, and classified as the "best available version"... While the older branch is classified as "legacy", has all development halted, and only has security and bug fix releases.

Even right now, with the release of Apache 2.2.2, Apache 1.3 still dominates. And during the 2.0 branch, it was not until Apache 2.0.42 was released before the API became stable -- a module built against Apache 2.0.42, should work under 2.0.58...

Now take into account the problems of PHP and MySQL, and the above is taken to another level.
« Last Edit: November 12, 2007, 01:17:09 PM by admin » Logged

DeveloperSide.NET
Advanced PHP and MySQL Solutions for your Web Design and Development needs with Web.Developer Server Suite.
admin
Administrator
Master of All Subjects
*****
Posts: 3272


View Profile WWW Email
« Reply #1 on: January 05, 2005, 06:08:55 AM »

To upgrade our Suite to PHP5...
http://forums.devside.net/viewtopic.php?t=573

Edit: Suite v1.15+ is now PHP5
Logged

DeveloperSide.NET
Advanced PHP and MySQL Solutions for your Web Design and Development needs with Web.Developer Server Suite.
admin
Administrator
Master of All Subjects
*****
Posts: 3272


View Profile WWW Email
« Reply #2 on: November 26, 2005, 02:06:05 AM »

UPGRADE NOTES - PHP 5.1
http://www.php.net/README_UPGRADE_51.php

Changes with PHP 6
http://www.corephp.co.uk/archives/19-Prepare-for-PHP-6.html
Logged

DeveloperSide.NET
Advanced PHP and MySQL Solutions for your Web Design and Development needs with Web.Developer Server Suite.
admin
Administrator
Master of All Subjects
*****
Posts: 3272


View Profile WWW Email
« Reply #3 on: January 19, 2006, 10:39:38 AM »

To downgrade Suite v1.15 from PHP5 to PHP4.4...

Stop Apache.

Download the latest PHP 4.4 ZIP version and place as \www\php
Copy file \www\php\sapi\php4apache2.dll  to \www\php
Copy file \www\php\php.ini-recommended to your %SYSTEMROOT% directory as php.ini (rename the PHP v5 php.ini that is already there to php.ini.v5)

Edit %SYSTEMROOT%\php.ini
Edit output_buffering = On
Edit doc_root = /www/webroot/
Edit extension_dir = /www/php/extensions/
Edit session.save_path = /www/tmp/
Uncomment (remove initial ';') line...
Quote

;extension=php_mbstring.dll

Save file.

Edit \www\Apache2\conf\httpd.conf
Replace these two lines...
Quote

LoadFile "/www/php5/php5ts.dll"
LoadModule php5_module /www/php5/php5apache2.dll

...with these lines...
Quote

LoadFile "/www/php/php4ts.dll"
LoadModule php4_module /www/php/php4apache2.dll


Replace this block...
Quote

<IfModule mod_php5.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>


With this...
Quote

<IfModule sapi_apache2.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>


Save file.

Edit your System PATH.
Find 'D:\www\php5' and edit to 'D:\www\php\dll'


Edit \www\phpMyAdmin\config.inc.php and change...
Quote

$cfg['Servers'][$i]['extension']     = 'mysqli';
to...
Quote

$cfg['Servers'][$i]['extension']     = 'mysql';

Save file.

Since we can only use php extension php_mysql (and not php_mysqli that is included with PHP v5.0) with PHP v4.4 and are accessing MySQL v4.1 (over v4.0), we need to revert to the older MySQL password method...
(basically, the passwords were created under MySQL 4.1 natively, but php_mysql.dll (PHP 4.4) can only deal with MySQL 4.0 type passwords -- so we revert back to the original password type)
http://dev.mysql.com/doc/mysql/en/old-client.html

Login to the MySQL shell with user 'root'
mysql -u root -p
(if asked, enter password for root -- by default it is not set)

Code:

mysql> SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('your-current-passowrd-for-root');

mysql> SET PASSWORD FOR 'pma'@'localhost' = OLD_PASSWORD('your-current-password-for-pma');

(the default password for user 'pma' is 'pmapass' -- unless you have changed it)

Example:
SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('passroot');
(use all the '')

Start Apache.
Logged

DeveloperSide.NET
Advanced PHP and MySQL Solutions for your Web Design and Development needs with Web.Developer Server Suite.
admin
Administrator
Master of All Subjects
*****
Posts: 3272


View Profile WWW Email
« Reply #4 on: May 30, 2006, 05:00:11 AM »

%systemroot% is (Win2000 -> C:\WINNT, WinXP -> C:\Windows)

To downgrade MySQL 5.0 to MySQL 4.1 (and not to 4.0!).

Stop MySQL Service...
> net stop mysql

Uninstall MySQL Service...
> mysqld-nt remove
(note that you might be running 'mysqld-max-nt' instead of 'mysqld-nt')

Rename directory \www\mysql to 'mysql50'

Rename file %systemroot%\my.ini to 'my.ini.v50'

Download MySQL 4.1 (or install express/lite version), creating \www\mysql

Copy file \www\mysql\my-medium.ini to and as %systemroot%\my.ini

Edit %systemroot%\my.ini
Edit the following fields to reflect the correct mysql path and the correct drive letter...

Under "[client]" and "[mysqld]" sections...
socket = C:/www/tmp/mysql.sock

Under "[mysqld]" section...
basedir = C:/www/mysql/
datadir = C:/www/mysql/data/

Since we are using PHP5 (php extension 'mysqli', and not 'mysql'), already have %systemroot%\libmysql.dll from PHP5 -- the only things left are to...
1)delete all mysql users except root@localhost (simple enough)
2)create pma (phpmyadmin) user and set permissions (explained under phpmyadmin Guide)

If you also want to use PHP4.4 instead of PHP5.0, you will need to copy over the %systemroot%/libmysql.dll file with the one from PHP4.4, replace the php.ini file (with updates to the relevant fields), reset all mysql users to the old-password method, edit my.ini to set the old-password directive, edit phpmyadmin's config file and set it back to php extension 'mysql' -- all of which is explained under the PHP downgrade instructions.

Install MySQL Service...
> mysqld-nt install

Start MySQL Service
> net start mysql

Also, if you have data that you would like to transfer from MySQL5.0 to MySQL 4.1, the right syntax for the mysqldump command should take care everything....
http://forums.devside.net/viewtopic.php?t=530
Before any of the above instructions you would do this to back up database 'devside', from MySQL5.0 to MySQL4.1...
mysqldump --user=root --password=xxx --compatible=mysql41 devside > devside.sql
Than, after all the above instructions, you would enter the MySQL (4.1) shell and use 'source' command to read in devside.sql into the database.
Logged

DeveloperSide.NET
Advanced PHP and MySQL Solutions for your Web Design and Development needs with Web.Developer Server Suite.
Jorge
Customer, Basic Support
Guru
*****
Posts: 544

jorge_schrauwen@msn.com
View Profile WWW
« Reply #5 on: May 30, 2006, 02:20:01 PM »

Quote from: "admin"
%systemroot% is (Win2000 -> C:\WINNT, WinXP -> C:\Windows)


start -> run: cmd /k echo %systemroot% && pause && exit

will display what it is for you. The system root isn't always the default one.
I know the pc at school that have XP on them use c:\WinXP\
Logged

admin
Administrator
Master of All Subjects
*****
Posts: 3272


View Profile WWW Email
« Reply #6 on: August 15, 2006, 12:07:48 AM »

http://forums.devside.net/viewtopic.php?t=1053
Quote from: "admin"
Sure, you could just throw the code under VS.NET and hit build, but...

There is a reason why Apache.org official binaries are compiled under VC 6.0.

There is a reason why MySQL.com official binaries are compiled under VC 6.0.

There is a reason why PHP.net official binaries are compiled under VC 6.0.

There is a reason why no hosting provider, that I know of or would use, would even consider using a VS.NET build of Apache or any other component.

There is even a reason why major hosting providers still only use Apache v1.3.

Those reasons are stability (in every respect of the word), known and tested codebase and binaries, not mixing runtimes, using the same runtimes as other components, not mixing unmanaged code with .net libs, and so on...

As far as the performance fantasy, I have not seen anyone post any data to back those claims up -- and it should be good real world data with reasoning and methodology posted. Personally, taking a wild guess here, I would say minimal performance gains, or in very limited situations can be had.

Not to mention that the entire codebase of each project would have to be rewritten to take advantage, in a more than superficial way, of anything under .NET -- and then tested and fixed for the next 3 years, and then being at Microsoft's mercy as they break everything Apache releated to 'enhance' IIS, with each new release of .NET, etc...

This issue has actually been in the back of my mind, as I really do feel that the truth is being completely overlooked when these other distributions post something like "we build with VS.NET -- huge, huge performance gains... Incredible results!!!"

BTW, I build with the Feb 2003 PSDK (the last 'official' VC6.0 PSDK). 'official' is the key word under the DeveloperSide.NET Web-Server Suite distribution, as it is synonymous with 'production readiness' and 'stability'.
Logged

DeveloperSide.NET
Advanced PHP and MySQL Solutions for your Web Design and Development needs with Web.Developer Server Suite.
admin
Administrator
Master of All Subjects
*****
Posts: 3272


View Profile WWW Email
« Reply #7 on: November 12, 2007, 01:18:30 PM »

With the release of Suite v2.0 I'm dropping the sticky mode on this topic.
Logged

DeveloperSide.NET
Advanced PHP and MySQL Solutions for your Web Design and Development needs with Web.Developer Server Suite.
portland
Jr. Member
**
Posts: 32


View Profile
« Reply #8 on: November 19, 2007, 12:13:43 PM »

Having read all this, would you say it is wise to upgrade to version 2.0 at this time?
Logged
admin
Administrator
Master of All Subjects
*****
Posts: 3272


View Profile WWW Email
« Reply #9 on: November 19, 2007, 02:21:43 PM »

Yes.
Logged

DeveloperSide.NET
Advanced PHP and MySQL Solutions for your Web Design and Development needs with Web.Developer Server Suite.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.9 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!