Does anyone know where can I find recent data on PHP4 vs PHP5 "market share", that is, what percentage of servers on the Internet have PHP5 installed?
I found this but it's from 2008:
http://www.nexen.net/chiffres_cles/phpversion/18824-php_statistics_for_october_2008.php
I also checked netcraft.com but I don't think they have something like that.
Thanks!
You can find up-to-date statistics in W3Techs: http://w3techs.com/technologies/details/pl-php/all/all
Click on the versions to drill down.
When posting the question I forgot that I can compile my own stats which for me would be even more relevant than some global "market share" data.
I'm selling a PHP script and I have the site urls of the people who buy or trial my software so I can easily do an automated "survey".
Currently the PHP versions supported by the script are 4.3+. The actual distribution of PHP versions, however, got me surprised (pleasantly). Out of 176 sites that I pinged, 7% were running PHP4, 3% - PHP 5.1 and the rest 90% - 5.2.4+, which I think is quite nice for anyone thinking about developing just for PHP5.
Of course, my data may be scewed - my users are mostly based in US and are more tech-savvy than the average. Someone with wider target market may have different results but I think the trend is good :)
Oh, and it's worth noting that from 176 sites, precisely 2 (two) were running Windows even though my software works just fine on it :)
GoPHP5 lists the web hosts and projects that support PHP 5.2+
Related
I remember long time ago when I started to learn php there is a cms call xoops and it was very popular. later I went into java world and stoped paying attention on php stuffs.
but now someone gave me a 6 years old system they are currently using which is base on a very old xoops version (2.1). now almost everything I search about xoops are out date(before 2008), they did many refactors in the core code, so I can't even find proper language pack that woks with new version, and most modules only support old versions (below 2.3).
I have 2 questiones:
1- is there any cons which made people stop interest at xoops? can someone tell the the story? :D
2- the company use xoops as a portal, and they created many modules for their needs. do you recommend them keep developing new modules for xoops, o try to "migrate" (maybe remake) in other "modern" enterprise portals?
ps:I just noticed, Stackoverflow doesn't even have a tag for "xoops" this = no popular topic :O
Converting older XOOPS modules is not a big problem. We're just finalizing a Basic Module Pack, with all the modules utilizing the same Admin GUI:
http://xoops.org/modules/news/article.php?storyid=6411
There is also soon a new version of XOOPS: 2.6.0, which is a major refactoring of the Core:
http://xoops.org/modules/news/article.php?storyid=6415
As with most Open Source projects, since people contribute based on their available free time, the development might be sometimes slower, sometimes faster.
I apologise in advance as this is not stricltly a coding question, but, I wanted to canvass as wide a spectrum of opinion as possible.
I have been using hte Zend php stack (among others) for some years now mainly because htey offer the best ORACLE support and they offer commercial support which keeps my corporate clients happy (middle managers just love to spend!).
However recently I have been hit by two gotchas in a very short space of time. Firstly they dropped AIX support with no notice (I checked the version I wanted was available, checked the right version of Oracle was supported etc. two weeks later I went to download and lo - no AIX version). Secondly I was installing in a Windows 2003 server and the install hung, when googled the problem I discovered several people had the same problem going back to early 2008 -- but no solution was forthcoming.
Is it worth bothering with Zend anymore?
Personally I'm not interested in needs of business circles, but I have a humble opinion about Zend as a hobby coder if you're interested.
I had a quite deep investigation about PHP frameworks lately and reviewed the most popular one. Of course, big companies chose Zend Framework because of infinite requirements.
If you haven't managed to look at this framework, do so. You will find a big mass of ugly code which planned to be perfect in terms of programming habits, but in the end, it. just. doesn't. cut. it.
Zend is shown as the PHP company. They might know what PHP is, but have no idea what a company is.
I've been contacted to see about updating an old legacy web application that was built using ASP and Access. The server is running Windows 2000 Advanced Server and I believe IIS 5.0 (I am trying to get confirmation on that, but the company isn't technical so I highly doubt Apache is running on the server).
What languages would be viable for updating this web app on the above platform? I've never touched classic ASP much less done any web development work against Windows 2000/IIS 5. There are no plans on updating the server to anything new due to budget concerns.
I'm leaning at the moment to moving to an SQLite-based database (customer isn't too keen on installing MySQL at the moment but I'm still in planning stages and this is a relatively low-traffic website) but what language would I pair with that? Does ASP.NET work well under IIS 5? Does PHP perform worth anything under this kind of setup?
I have a similar situation, did it about a year ago, and ended up using asp.net 2.0.
Generally ok, but the machine is showing it's age, I usually need to get someone to give it the 3 fingered salute every month or so, and it blew a psu recently.
If it's only low volume, you might be able to install sql express, which will make your life a lot easier than something like SQLlite, as dotnet plays nicest with other MS stuff, and there is a lot of labour saving goodness built in.
You would also be able to use the access to sql migration tools if you use sql express.
Would also suggest that you look at something like subsonic or nhibernate, which will take care of a lot of the boring and error prone stuff for you.
It really depends on where your experience lies, and how big the project is, if you've never used dotnet before, then start on something small, this may or may not be the one.
Apparently php performs well on win 2008, but as for 2000, never tried. Did have apache on a 2k box many years ago, but wasn't using php.
If the company is concerned with cost, I would be very conservative making changes. Concentrate on why they want to update- do they want to add new functionality? What are their mid-to-long term plans for the site? Are they having trouble maintaining the site? Going to a custom .NET solution may only complicate things further unless they are willing to make some ongoing investment in development.
If it's a relatively simple site, they may want to consider a platform like DotNetNuke. There are hosts out there that sell ready-to-configure sites that can do quite a lot with a minimum of configuration. That combined with a profressionally developed DotNetNuke UI template (TemplateMonster.com offers them) may be a good solution.
If they do want to go with a custom solution, ASP.NET runs fine on IIS 5.0. I believe you can run the .NET Framework up to at least 2.0, not sure about 3.0 or 3.5. Language won't make a difference to functionality, so C# or VB.NET are fine, all things being equal.
In this scenario, I would probably go with ASP.NET. Since you're running on a microsoft server, there will be plenty of documentation from MS on installing, configuring, and running the site. It's a lot easier to support something when all the components are "in the same family" so to speak. Asp.net will run fine under IIS 5. It doesn't have a lot of the security and scalability upgrades that IIS 6 does, but it will do the trick.
I was able to get a bit more information. The box is running IIS 5.0 and the IT guy handling it is more than happy to let me install whatever I need. From googling and responses below it seems like my best bet will be to convert the site to ASP.NET 2.0 with SQL Server Express 2005 running as the DB.
I recently wanted to get a decend IDE for my PHP side-projecs, and by searching SO found Eclipse+PDT. Although it's not quite at the level of Visual Studio yet, it's pretty nice and better than Notepad++ for this purpose. I can even debug somewhat, although it's pretty glitchy.
But there is one thing that is bugging me. It seems to have some kind of weird performance issue, whereupon it it uses lots of CPU about once a minute or so. By itself this is not noticeable, but if you do something else at the same time (like watch a movie, or play Quake 3), it produces an annoying hicup now and then.
Granted, my computer is not state-of-the-art (Sempron 2200+ with 1GB of RAM), but then it's certainly more than enough for all of this.
Another performance question is that I'm used to Visual Studio where IntelliSense pops up as soon as you type a compatible symbol. Here you have to wait for a moment. Is there any way to make it open up instantly?
P.S. Perhaps there's an even better freeware IDE for PHP?
Added: It was suggested by Stefan Schmidt to change Auto-Activation speed. It seems that there is a bug with this. The smaller I set it, the more it fails to open at all. For example, when it's 200, it opens mostly all the time when there is something to open. At 10 it doesn't open (at least) for static class members. What gives?
I think I found it !!!
Given:
a) That Eclipse for PHP (Eclipse PDT) is updated just about everyday complete with daily builds. I can only assume this is from a team of very dedicated and competent developers who only want the same thing you do.
b) That only a small portion of us have been coming here complaining about our CPU maxing out while trying to edit PHP code.
Observations:
a) I have turned off just about every item in the preferences box to no avail.
Solutions:
In my past experience with software, especially large black boxes that normally work well for others. When faced with a situation that does not seem to respond to conventional theory... I like to do the unconventional. In this case... simply take care of the "little things".
In this particular case this means that I:
Did an update via Help->Check for Software Updates
Installed the latest updates
Removed the old workspace and created a new one
Paid attention to ALL THE WARNINGS, especially the YELLOW warnings which kept pointing to all the HTML errors in code that I either wasn't really using or meant to clean up anyway.
In other words...
Once I eliminated ALL THE WARNINGS.... The CPU stopped maxing out !!!
After updating the to latest Eclipse build and then taking the time to either fix the warnings and/or remove ALL unnecessary source code (that was slated to removed anyway)... the CPU returned to "normal".
In other words...
The problem was not that Eclipse PDT wasn't working properly...
...it was that it was working TOO GOOD !!!
It was doing precisely what it was designed to do... check ( & recheck ) for warnings in your source code while the keyboard was considered dormant.
So...
There you go...
Pay attention to ALL the warnings in your "Problems" window and do what it takes to reduce the number of warnings to ZERO !!!
And then report back here with your findings.
I honestly cannot believe just how well my Ubuntu 10.04 (32 bit) installation is operating on a $500 Compaq Presario. It's a dream and ALL I did was take care of the "little things".
Cheers,
Perry
It could be the garbage collector. Try a different JVM or a different garbage collection algorithm. It might help you shorten the pause times. With JRockit you can set a pause time target for the garbage collector.
For instance you could set:
-XgcPrio:pausetime
-XpauseTarget:250
in you eclipse.ini file. See this blog for some information on how you can set up Eclipse to run on JRockit
you could try this:
Selec Project => clean from menu and select all php projects. This could take a while ( if you have many/large projects ), but then it should get faster.
For an alternate free IDE you could try NetBeans. From version 6.5 it has full php support, and for me it's faster than Eclipse+PDT, and more stable / memory consupting.
There are known issues with PDT 3.1 and eclipse 4.2 (juno).
https://bugs.eclipse.org/bugs/show_bug.cgi?id=385272
This is the solution:
Open a different perspective (for example java, but not php) and restart eclipse. Afterwards you can savely switch back to php perspective. Eclipse will have no performance issues.
Also mentioned here
For your second question:
Go to Window->Preferences ...
From there go to PHP->Editor->Code Assist
At the bottom is a box called Auto-Activation.
There you can specify the delay it takes for the Code Assist to show up.
I have no solution for your other problem, but perhaps if you wait until 29th of December your problems will be solved by the 2.0 version.
Edit: Not a solution, but perhaps a workaround: Try lowering the prcess priority of your PDT process.
Ive had no hiccups using PDT with Ganymede .. you might want to try (as an experiment) downloading and copying eclipse from the All-in-One Eclipse PDT + Zend Debugger Package zip and see if it runs better?
You can use multiple different eclipses as they don't need any installation and won't interfere with each other - just open and use
There is another project for adding PHP support to Eclipse: PHPeclipse. I know that when PDT was still young, people often choose PHPeclipse because of performance problems with PDT, but I cannot say, how the current versions of both compare with respect to performance (and features), as I quit my PHPeclipse development activities quite some time ago.
If your performance problem is a real show stopper, you might want to give PHPeclipse a try.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I have absolutely no idea about version control. Only that it can be very useful in many ways.
I have found a few related questions but none that start from the absolute beginning.
I am the only developer at my work using Mac OS X and traditionally just been using FTP.
Can anyone help me with version control in relation to PHP projects (does it matter)?
Yes, try it out, it's worth it. And the language you are using doesn't matter. It's working great with PHP for me and it will for you too.
Benefits
If you are the only developer, it is indeed easier to go without version control. However, you will find great benefits to using a version control system. Some of the easiest benefits will be:
Never wondering what is your latest version once you go back to a project (no more myproject090201-archive2-final6.zip)
Never fear to start off some major refactoring, if you make a mistake on your file, you'll just rollback to the latest version
If something stops working in your project and you have the feeling it worked at one point, you can test some of the prior versions easily and look at the difference between the working version and the non-working version to find what broke the code
Additional backup of your current project, and even better if it's not on your machine... of course, additional points for backing up your version control system, we're never too cautious, you don't want to have to restart that month-long project do you?
Choices
As some have said, you have a few choices for your version control system and I guess you'll want a free one to begin. There are a few excellent commercial products but the free ones have nothing to be ashamed of. So here are some very popular free version control systems:
Subversion (also called SVN)
Git
Mercurial
Bazaar
Centralized versus distributed
Subversion has been there for a while and it's one classified as 'centralized'. Meaning everyone will always go fetch the latest version and commit their latest work to one central system, often on another system although it can easily be on your own machine. It's a process easy to understand.
The three others are called 'distributed'. There's a lot of different possible processes as it's a more flexible system and that's why those three newcomers are getting a lot of traction these days in open source projects where a lot of people are interacting with one another. Basically you are working with your own revisions on your own machine, making as many copies as you need and deciding which versions you share with other people on other computers.
The trend definitely seems go towards distributed system but as those systems are more recent, they are still missing the GUI tools that makes it really user friendly to use and you might sometimes find the documentation to be a bit lighter. On the other hand, this all seems to be getting corrected quickly.
In your case, as you are working alone, it probably won't make a big difference, and although you'll hear very good points for centralized and distributed systems, you'll be able to work with one or the other without any problems.
Tools
If you absolutely need a GUI tool for your Mac, I'd then choose SVN to get initiated to source control. There are two very good products for that (commercial):
Versions
Cornerstone
And a few other ones (such as the free svnX) that are becoming a little bit old and unfriendly in my opinion but that might be interesting trying anyway.
If you don't mind not using the GUI tools, with the help of Terminal you'll be able to do all the same things with a few simple command lines with any of the aforementioned systems.
Starting points
In any cases, you'll want some starting points.
For Subversion, your first stop must be their free book, Version Control with Subversion. Take a few hours of your day to go through the chapters, it'll be time well invested. The introduction chapters are a good read even you don't want to use Subversion specifically because it'll get you to understand version control a little bit better.
For a distributed system, I've had fun with Mercurial but it's an easily flammable subject so I'll let you make your own choice there. But if you end up looking at Mercurial, have a look at this blog post, it was an excellent starter for me that'll get you up and running with the basics in a few minutes if you're already a bit accustomed to version control in general. Anyway, drop by Mercurial's homepage and have a look at the Getting Started section of the page.
Conclusion
Give it a go, invest a day trying it out with a few bogus files. Try out renaming files and directory, erasing, moving things around, committing binary files versus text files, resolving conflicts and reverting to older versions to get a hang of it. These are often the first few hurdles you'll encounter when playing with version control and it'll be painless if it's on a non-production project.
In any cases, it's something well-worth learning that'll be helpful with your solo projects as well as if you end up working with other developers at your current job or your next one.
Good luck!
The type of code is irrelevant.
One open-source and popular version control system is Subversion and there is a very good overview/manual here.
I use Git for PHP development.
It's fast, flexible, reliable, clean (CVS and SVN create a lot of hidden folders that I personally don't like).
Its distributed nature allow to work the way you want (with or without a central repository).
You can find more about it here:
Gitmagic
Speed Benchmarks
Moreover, you can get the Eclipse PDT (PHP Plugin) and use Subclibse in the IDE.
Versions is working well for another developer I work with. Additionally, if you are using Textmate the SVN bundle provides pretty much all you need for most parts of the Subversion workflow. I really like it.
The Project Plus plugin takes it a step further by adding small unobtrusive badges to versioned files in the project tree, showing at a glance the state of files in a project.
If you're on a Mac, do yourself a favor and pick up Versions, a beautifully designed (and highly functional) Subversion GUI. You'd do best to learn the terminology and get an idea of how Subversion works using a GUI before you jump to the command line. Once you're able to commit revisions of your code and run updates to get other people's work, then go back and read the red bean book (it really is the best way to learn Subversion in-and-out).
http://versionsapp.com/
use bazaar http://bazaar-vcs.org/
it's very nice and you can start using it in minutes.
Check out other options too - Miscrosoft's TFS (this not only used for source control system but for defect tracking, project management etc etc) , Bazaar, Git are popular ones.
Alex,
Version control (and some will scathe me for this statement) is not a trivial matter, and even very experienced developers get themselves into trouble. The most frequent causes for frustration are limitations of a particular product (Visual Source Safe is a famous one), and members of a team not following the same process, or not understanding the process at all.
This should not stop you from looking into using a source control tool - the opposite is the case. You can only use a tool effectively if you understand what it does and why.
I would recommend that you look into CVS. It has been around for many years, it is relatively simple to install, set up, and use, and while there are GUI clients available for most platforms, learning it from the command line may provide the best access to its features.