[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now


PHP as a the foundation for a scalable web enterprise application

Posted on 2003-11-13
Medium Priority
Last Modified: 2011-09-20
We recently awarded an enterprise-level application development to a firm that plans to build it in PHP. I had previous experience working with ColdFusion developers on another similar application and was hoping to find a CF team for this new application. However, I was convinced by the bid details and credentials of the team we picked that PHP is very much a viable alternative for our application. But now I am having second thoughts.

I guess I am looking for expert advice about the TRUE viability of dynamic a PHP web application that needs to be scalable with a range of 0 users to 100,000 users. Said users would have access to a range of tools through the application, including email, contact management, their own e-commerce websites, searchable content databases -- all with interconnected database relationships.

I know that outline is painted in broad strokes. But, from the description, can you assess the reliability/viability of such a system written in PHP vs. CF? Primarily, I am interested in the scalability aspect. I am certain PHP code can build and manage a complex, inter-connected dynamic database application with a smal number of users and concurrent sessions. But what if the number of users of that same application grew exponentially?

All that said, if CF is a better alternative to PHP for a complex, scalable, dynamic web application -- and I said IF -- how would you go about "converting" PHP code to CF code, if necessary? I gues syou could have CF programmers simply duplicate the functionality of a PHP application, but I wondered if there is a more automated approach.

Thank you in advance for your thoughts on this.
Question by:TreeSkier
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2

Accepted Solution

TaintedGod earned 1000 total points
ID: 9743839

It seems here that your concern should not be wheather to use PHP or CF, but what kind of database you are using that would determin how many users you could have, this also has to do with what kind of server you are working with. I'm sure you could use either PHP or CF and still get the job done ( I would use PHP), since the number of users wouldn't affect PHP or CF, but instead the server and the database.

If you could tell us what kind of server and database you are using, we could then determin how many users you could support.

Author Comment

ID: 9743970
We are using MySQL DBMS and running Apache ... guess we're open source all the way through. What do you think?

Expert Comment

ID: 9745765
There is no problem with the site('s) being so big and using PHP + mySQL.
It can be done with PHP and mySQL and performance can be very good as well.

What you do have to realise is that all this does depend on the actual code you are using.

If coded correctly and if the database is designed to handle this size then it should not be a problem.

Good example of software that does handle small forums is phpBB; it can handle small to medium forums; but once you get really big it becomes enormously slow. Simply because the database and coding wasn't build for huge size's.

If the software is build with the size taking into account; then there is no problem.

Expert Comment

ID: 9749948
Thank you doppyNL for restateing my post.

TreeSkier, MySQl, Apache and PHP has been considered one of the best combinations for what you want to do, so I think everythign should go fine as long as you have the disk space (obviouly), and you are basically limited to your operating system for how big your databases tables can be, here is some information from the manual:

MySQL Version 3.22 had a 4 GB (4 gigabyte) limit on table size. With the MyISAM table type in MySQL Version 3.23, the maximum table size was pushed up to 8 million terabytes (2 ^ 63 bytes).

In effect, then, the table size for MySQL databases is normally limited by the operating system.

Note, however, that operating systems have their own file-size limits. Here are some examples:

Operating System                                        File-Size Limit  
Linux-Intel 32 bit                                          2 GB, much more when using LFS  
Linux-Alpha                                                 8 TB (?)  
Solaris 2.5.1                                                2 GB (possible 4GB with patch)  
Solaris 2.6                                                  4 GB (can be changed with flag)  
Solaris 2.7 Intel                                           4 GB  
Solaris 2.7 UltraSPARC                                 512 GB  

On Linux 2.2 you can get tables larger than 2 GB in size by using the LFS patch for the ext2 filesystem. On Linux 2.4 patches also exist for ReiserFS to get support for big files. Most current distributions are based on kernel 2.4 and already include all the required Large File Support (LFS) patches. However, the maximum available file size still depends on several factors, one of them being the file system used to store MySQL tables.

Hope that helps.

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …
Suggested Courses

649 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question