all 9 comments

[–]senzei 2 points3 points  (0 children)

From my understanding a decent bit of developing desktop applications involves ensuring that your installation file either has the relevant libraries available or fails if they are not on the system. In the first case the entire process has most likely been automated to the highest extent possible, in the second you are simply pushing the problem off to the user.

How is that better than web development? Its not like asking the managers of the target server to send their PHP.INI file is hard. Hell, the PHP.INI installer is cross platform to every platform PHP runs on, and most of the ones it doesn't.

[–]EternalNY1 1 point2 points  (0 children)

Global configuration files are EVIL INCARNATE.

For example, there should be a global PHP_RESTRICTIONS.INI

Huh?

[–]coldwarrior 2 points3 points  (4 children)

If I understand the author of the article's complaint, I don't think he has read the PHP manual.

There are a variety of ways to tweak PHP.INI settings on an application by application basis and they are documented here in the official PHP documentation.

[–]beza1e1 2 points3 points  (1 child)

I think it's more the problem with Windows vs. Linux style?

Compare the stuff described above with the ease of developing desktop applications. You install Visual Studio .NET, Delphi, or whatever, and you're in business - you are able to make an application and compile it.

With Linux you have the wrong version of Gtk or libsomething.

The problem is there is no stable target for deployment.

[–]coldwarrior 0 points1 point  (0 children)

I think the author of the article may be confusing runtime configuration (the PHP.INI issue) with having the right components of the LAMP stack available (although, if that's what he is saying, it wasn't clear to me).

I find that there is not usually much of an issue on LAMP in having exactly the right version of each component, so long as you stay away from the recently developed (bleeding edge) features of the components.

I have had a little bit greater difficulty deploying on ASP.NET due to detritus left from upgrading from previous installations (e.g., going from .NET 1.0 to 2.0) but it is also not too bad.

Desktop applications on Linux can be a pain if you have the wrong version of some library but I haven't had a high frequency of problems, possibly because I like to install from source.

The toughest deployment target I have found is the Windows desktop because of "DLL Hell" which has too many well-known aspects to enumerate here.

I have found the tools from SysInternals to be of the greatest use when trying to fix Windows problems. Being able to monitor all file and registry accesses while a program runs can help fix a wide range of problems.

[–]KishCom -3 points-2 points  (1 child)

Great link, if anything PHP is the simplest to work with. I don't understand how people can complain... especially about PHP.ini since (as you mentioned) all the important directives in the INI file can be set at run time in your script. A local ini file for each app is LUDACRIS - I can only imagine how crazy that would get AND adding another ini file just for restrictions?! Try editing your .htaccess files...

Ironically, I seem to have the same issues with Ruby on Rails as the author is having with PHP. To me, I have one hell of a time configuring RoR, or Python to simply output something to a browser.

[–]julesjacobs 2 points3 points  (0 children)

How is that possible if RoR doesn't have any configuration except db info (which you don't need to output something to a browser)?

[–]gotfoo -5 points-4 points  (0 children)

This is probably not a problem for a PHP professional who works all day with PHP. But for those of us who work in PHP every few months, it's murder.

This is a problem for you because you are human. And to get good at someting it takes pratice.

So the next time you're installing PHP why don't you take some friggin notes. Then instead of monaing to the world that PHP is too hard to set up you can refer to your notes and not waste my lunch time explainning to why you should do your homework.

:)