Setting up your workstation for Joomla! development
From Joomla! Documentation
Not sure if this is the right place for this -
This is an excellent page. Probably the best I've yet used on this site. Detailed and clear.
As it brings in a lot of different applications, its hard to know where to go for support on particular issues - a table or some such with the relevant support forums or channels would help a lot.
My particular problem - Everything works fine and tests fine but when I go to use xDebug in Eclipse as described, the 'break at first line' or explicit setting of breakpoints are ignored. The session terminates and the page appears as if they were not there.
There is probably some 'obvious' global setting I've missed but I can't find any solution through google although I have found a few threads by people with the same problem (and no solution).
- 1 Please Post a Question to Joomla! Coding 101 Forum
- 2 About not deleting the "Installation" folder
- 3 the php_xdebug should be commented out
- 4 Vista Issue with xdebug
- 5 Vista Issues
- 6 Solved crashing issue Apache - XAMPP 1.7 for Win Vista 32 - with XDebug
- 7 More on the Vista/Apache/XDebug Nexus
- 8 Vista 64/Xdebug
- 9 Spoke too soon
- 10 One more try with Vista 64 that's working
- 11 Refactoring article into smaller pieces
- 12 Changing XDebug Port: Substantial Reason or Misleading Advice?
- 13 Eclipse 3.4.2
- 14 test with xdebug
- 15 Problems with MySQL 5.5.x and beyond....
- 16 To debug your site, not Joomla itself
- 17 Added new article for extension development
- 18 Error in "Recommended eclipse settings"
- 19 Extension Installation
- 20 Not prompted for username and password when Check Out Joomla Source
- 21 Change in default path in Eclipse 2.2
- 22 Merge Warning!
Please Post a Question to Joomla! Coding 101 Forum
Hi. Why don't you post your question to the Joomla! Coding 101 Forum. I'll try to look for it, and there are probably people there who know way more about this than I do. Thanks. Mark Dexter 18:57, 25 August 2008 (EDT)
About not deleting the "Installation" folder
The tutorial says "you don't have to or don't want to delete the "installation" folder" and then goes on and says that if you run "administrator/index.php" you will see the admin login page. but this doesn't happen since the installation folder hasn't been deleted. what is shown is the warning to delete the folder.
Hi. That's interesting. On my system, when I run through Eclipse, it works fine without deleting the installation folder. That's why I put that information in there. Honestly, I don't understand why you don't get the warning the way you normally do. Are you running from inside Eclipse or just from the browser? In any case, you might want to post this question in the Joomla Development Forum, since those people know a lot more about this than I do. Mark Dexter 10:58, 7 September 2008 (EDT)
would be really nice to know how to fix the current conflict with zend and xdebug. PHP Fatal error: [Zend Optimizer] Zend Optimizer 3.3.3 is incompatible with Xdebug 2.0.3 in Unknown on line 0 which causes apache to promptly shutdown. I don't know which to turn off, zend or xdebug --N6REJ 13:56, 23 December 2008 (UTC) Troy
the php_xdebug should be commented out
Sorry.... reverted my changes. My install is still crashing. Others are having the same issue, I have to find out what the definitive fix is.
Vista Issue with xdebug
Hi. Are you running Windows Vista? If so, the xdebug DLL that is included with XAMPP doesn't work. You need to download the DLL file from the XDebug website. See the instructions here: Setting_up_your_workstation_for_Joomla!_development#Edit_PHP.INI_File. Mark Dexter 16:56, 4 March 2009 (UTC)
Mark installed XAMPP on 64 bit Vista, however I am (still) finding installing XAMPP 32 bit Vista to be a significant headache. this by the way appears not to be an XAMPP problem by an Apache+XDebug+Vista problem.
I first had difficulty getting both Apache & mySQL to run at the same time - permission issues were reported. I *think* I solved that by right clicking on the XAMMP installation file and selecting "Run as adminstrator".
Having got both Apache & mySQL going together, I tried running XAMPP default screen & phpInfo with php_xdebug.dll (as supplied), php_xdebug-2.0.2-5.2.5.dll (just because I had it) and php_xdebug-2.0.4-5.2.8.dll (as recommended). All failed, occasionally after raising my hopes just enough...
Now I find that I can't start Apache (ERROR: Apache service not started ) and I can't stop mySQL (ERROR: MySql service not stopped ).
At present, I'm going to keep googling "apache xdebug vista" and see if anything turns up. --Pete Nurse 06:00, 16 March 2009 (UTC)
Hi Pete. I am currently working with the Xdebug dll php_xdebug-2.0.2-5.2.5.dll. I am still working this out, but it appears that the more recent one, php_xdebug-2.0.4-5.2.8.dll, sometimes crashes Apache. With the earlier DLL I am able to debug and run normally, at least so far.
I am having two issues. (1) How to start apache and mysql automatically. (2) When I run phing, I get the annoying "CLI has stopped working" message. It works fine and doesn't cause any problems -- just annoying. So, why don't you try that dll and see if that works for me. And if you have the autostart figured out, please let me know. Thanks. Mark Dexter 13:44, 16 March 2009 (UTC)
Solved crashing issue Apache - XAMPP 1.7 for Win Vista 32 - with XDebug
I uncommented extension=php_xdebug.dll in the Dynamic Extensions section of php.ini
All is fine now. Apache was crashing repeatedly even with the latest xdebug.dll
I am not sure why this needs to be in the Dynamic Extensions section as later in the php.ini file the library is referenced as zend_extension_ts="C:\xampp\php\ext\php_xdebug.dll"
More on the Vista/Apache/XDebug Nexus
On 32-bit Vista, I think I've managed to tame the problem. (Note "tamed" rather than "control"!)
The procedure is as follows:-
- Install XAMPP using the right click/Run as administrator. I'm not totally sure that Run as administator is necessary here but it can't hurt.
- Replace the supplied php_xdebug.dll with php_xdebug-2.0.4-5.2.8.dll (as discussed in the main document).
- Update php.ini line (change this to suit your installation) from
- Start XAMPP using Run as administrator - this is extremely important.
- Check operation by clicking the Apache Admin button in the XAMPP Control Panel.
- I find the previous step often fails with Apache turning itself off and giving the following error
Connection Interrupted The connection to the server was reset while the page was loading. The network link was interrupted while negotiating a connection. Please try again.
- Restart Apache and recheck as many times as necessary before it runs correctly.
I have found that once Apache runs reliably, it's good until I reboot the PC.
More art than science I'll admit, but at least it works for me! --Pete Nurse 23:08, 20 March 2009 (UTC)
I finally got my Vista-64 machine to work nicely with xdebug. The final solution was the one that Mark suggested of going backlevel on xdebug (instead of the most recent as the page suggests). My apache 2.2 was crashing with "Parent: child process exited with status 255 -- Restarting" in the apache log file.
My configuration: Vista/64 ultimate; Apache2.2; PHP 5.2.6; php_xdebug-2.0.2-5.2.5.dll
This was very frustrating getting this to work, but the few minutes of xdebug I had between crashes were so enticing, I had to keep plugging away at it. Much better that the code tab of Dreamweaver!
To autostart Apache & Mysql on a windows machine, you want to go to services and change the start type to auto.
Start/type "Services" Right click on Apache, select Properties Select "automatic" from the startup type dropdown menu.
Do the same to MySql.
Now that I have this set, time to get back to working on my application for summer of code...
Thanks for the great documentation, by the way! Andy
Sueter 20:07, 24 March 2009 (UTC)
Spoke too soon
The fix wasn't as stable as I'd hoped. My periodic crashes have become more frequent and I just had to comment out xdebug to allow joomlapack to run without crashing.
One more try with Vista 64 that's working
Mark suggested dropping all the way back to php_xdebug-2.0.0-5.2.2.dll. That has been working successfully for a short time now, so I have my fingers crossed. So if you are having problems on a Vista 64 machine, try that.
Sueter 15:27, 23 April 2009 (UTC)
I just wanted to add to this since a spend a fair amount of time going around with this problem. I have a Windows Vista Ultimate SP2, 64 bit machine. I have installed XAMPP 1.7.1. What ended up working is what was installed with XAMPP. The php_xdebug.dll in the XAMPP install. When I tried using any other version of the php_xdebug.dll the apache server did not work. Hope this helps.
johnd33 Jan 31 2010
Refactoring article into smaller pieces
Hi, all. Thank you to everyone who has built up this wonderful article. It was very helpful to me as I got my workstation set up.
I think that this article is big and complex enough that it would benefit from being broken down into smaller pieces. I would like to add my lessons learned to the article. This means adding a step, setting up multiple virtual hosts in multiple separate development directories, and also adding platform and tool variations, e.g. EasyEclipse for PHP on Mac OS X. The article is barely manageable now. Adding a few more pieces like these would make it too complex, I think.
I propose keeping this article as an overview, with links off to the subarticles. The overview would be broken into several steps, each step getting one piece of functionality working and having a measurable end-point (web pages displaying, stepping in debugging working, etc.). There could be multiple articles for each step, showing different ways to accomplish that goal, or telling a different story for a particular platform.
Comments? Objections? JimDeLaHunt 07:35, 27 November 2009 (UTC)
My only concern is that it be easy to follow in a step-by-step process for new users, without having to follow too many links. Maybe one way to do it would be by platform: Windows, Linux, and Mac. Each user is only going to be interested in one of these platforms, so allowing them to skip information for other platforms would make sense. Even if there is some duplication for information that applies to all platforms, I don't think this would be too bad. Those are my thoughts. Mark Dexter 16:39, 27 November 2009 (UTC)
Changing XDebug Port: Substantial Reason or Misleading Advice?
Thanks a lot for this helpful article!
I wonder what the reason is to change the default port of XDebug from 9000 to 10000. When reading the article for the first time I anticipated a port conflict within the suite of XAMPP and EclipsePDT or a nasty bug or some other serious problem - wild guessing, though! But there is no problem with port 9000 at least not for me. So the basic motivation seems to be a conflict with some other software on the author's workstation? Btw: There was a conflict with port 10000 on mine! Consquently it took me some time not to ignore the "Port is already in use" message of EclipsePDT, find out that there was another application and finally switch back to port 9000 ;-) So, my suggestion to improve this (in spite of everything) very good article is to stay with default port 9000 for a first try and to direct the reader back to the section of configuring the port of XDebug when EclipsePDT unruly complains that the "Port is already in use". Willy 25.Dec.2009 20:45 UTC
I don't remember why the port change. It could well be specific to Windows or some other software I had installed. If you want to edi the article as you suggest, I don't have any objections. Mark Dexter 00:32, 26 December 2009 (UTC)
Agreed on the greatness of the article, however...
running Eclipse 3.4.2 (under Fedora 11 linux) it doesn't look like the examples at all, there's no "Run as web page", and a whole lot of other things.
I expect it would be easy for a seasoned Eclipse user to bridge the gap, but I'm brand new to Eclipse, although nearly thirty years (damn! Is it that long?) into software development. Makes it even more frustrating to be hitting my head against this brick wall :(
I get the same problem mentioned elsewhere, I can do the setup but I must be missing something because running my Joomla project homepage (on the internal Eclipse browser, or indeed an external FF instance) just gives me the page, taking no notice of the breakpoints I set.
Am I missing something 3.4.2 specific?
It looks like the "Coding 101" forum has gone, not sure if that's what the link given above is to, but it doesn't work. The "Coding Joomla 1.5" forum says "Don't post here, join the email group" :-( --Mark 19:10, 24 May 2010 (UTC)
The current Eclipse version is 3.5.x. So 3.4.2 is one year out of date. Maybe that's part of the problem, I don't know for sure. I would suggest downloading per the instructions in the article. Good luck. Mark Dexter 16:24, 25 May 2010 (UTC)
test with xdebug
A marvellous tutorial to learn jumla and to develop joomla in eclipse!! But i was disapointed, because debugging with the small scipt test.php doesnt work! it seams that the debug as.. runs without "break on the first line!". a extra beaekpoint placed on the first ligne did'nt help as well. Have You any tips whe he can examine to correct this? Regards! igonasu
Usually this is because there is a problem with the port number. I would re-check that you have the correct port set up in Eclipse and in your php.ini file. Also, make sure you re-start Apache after changing any settings. Good luck! Mark Dexter 15:25, 1 November 2010 (UTC)
I restarded my system and i can choose 2 debug sessions. the first one crashes but the second session seemms to run. I will test it tomorrow.
Do You now why two sessions of test.php debug exists?! regards!
Problems with MySQL 5.5.x and beyond....
An excellent summary and very helpful.
Might be a good idea to mention that mysql 5.5.x and beyond does NOT work with the 1.5 install due to the removal of TYPE=
Mysql 5.1.37 does work...
Hi. I believe this will be fixed in version 1.5.3. Thanks. Mark Dexter 00:25, 28 March 2011 (UTC)
To debug your site, not Joomla itself
I am using eclipse to debug my particular sites not to make patches for the Joomla core.
I have found the following to work, there may be a better way, I'm still new at this.
- create a new php project
- navigate to the new project in the PHP Explorer
- use akeeba backup to make a copy of your site
- expand the backup in a temporary folder outside of the workspace
- use file/import/general/file system to bring in all of the resources (files and folders) for the entire site
- run the install
Actually just found an easier way
- create the project and select "Create project at existing location"
- for me, the project is already in my MAMP root folder 'htdocs'
- be sure to use exactly the same name as the current htdocs folder for the project name
- this does create a couple hidden files in the folder that you'll want to be sure don't go up to your production site.
Added new article for extension development
Great idea! See Setting up your workstation for extension development. Mark Dexter 02:08, 23 January 2009 (UTC)
Error in "Recommended eclipse settings"
-startup plugins\org.eclipse.equinox.launcher_1.0.101.R34x_v20080819.jar -showsplash org.eclipse.platform --launcher.XXMaxPermSize 512m -vmargs -Xms512m -Xmx512m
Don´t know about Linux machines, but on Windows Systems the line starting with "plugins" must have a "/" instead of "\", or eclipse will throw an error on startup, mentioning, that it can't find the corresponding launcher.
For Windows the correct syntax must be:
--mk2-design 15:14, 12 September 2009 (UTC)
Well, on my XP and Vista machines, that syntax works fine with Eclipse 3.4. Mark Dexter 22:02, 12 September 2009 (UTC)
I was able to get through it on my own, but I noticed this tutorial doesn't provide any guidance as to installing extensions in Eclipse. Specifically, I had no SVN enabling extension installed by default, but in the tutorial it seems like I should. Maybe a link to a help topic, or acknowledgment that I might need to install some extensions?
Hi. This is the second part of the article. In the first part, it guides you through installing SVN for Eclipse. Here is the link: Setting_up_your_workstation_for_Joomla!_development#Install_Eclipse_Subversion. Mark Dexter 22:09, 1 October 2009 (UTC)
Not prompted for username and password when Check Out Joomla Source
>When it asks for the username and password, use "anonymous" as the username and leave the password blank.
I didn't get prompted for a username and password as per the instructions. To solve I had to change the following setting:
Change from JavaHL to SVNKit
Change in default path in Eclipse 2.2
See eclipse bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=330744
Note the instructions at the bottom, for each project, go into properties, php-debug and set the appropriate path
Just a warning. I don't know if this is a personal view or a more general view. Though I have edited these pages alot, I got that view not from myself, but from the way it was done before. Anyway, my view is as follows:
There is definitely a difference between all the "Setting up your workstation for..." pages. They seem to me a bit as follows: - for Joomla! development: This is specific for joomla developers, meaning the developers who really work on the core and have to uphold certain standards and certain choices (like coding standards, git as version control, etc..) - for joomla development: This is for everyone who would like to develop in joomla (extension, etc.) with more choices - for extension development: Speaks for itself.
I don't know if there were more, but I liked the difference between them. Some topics overlap and maybe there could be a better structure with the same distinctions, but I wonder if merging (even only) the above two is a good idea? (Unless the distinctions are very clearly made in the merged page, but then maybe the details of joomla (core) developers should be seperate pages? Thinkg out loud.) Just stating my experience and impression as a Docs-writer and -user. Not sure if it's the right one. :-) E-motiv (former E-builds) (talk)
- Thanks for your input, it is appreciated! Yes, we need to distinguish between the 2 types better. We are moving towards, Joomla!_Code_Contributors(this would include bug squad pages or a mix) vs. extension, template, plugin and module Developers. Perhaps, a rename to distinguish between the two pages? I'm open to suggestions. We still have a huge task ahead of us. We are shrinking(compacting and archiving) while at the same time building a better user structure. Docs is getting better, but it is still a mess with way too much overlap and redundant material, uncategorised pages and no set guidelines for article content types. Rough start of structure(subject to change), but it's the first draft of planning, JDOC:Documentation_Navigational_Structure
- We need to take a long look at what is and isn't in the scope of JDOCs too. Ex, how to setup a localhost server for development. What Joomla! needs on the localhost, yes! Not a step by step of do this, then that. We can't even keep up with what we should be documenting for the project, let alone a step by step of how to setup a server, or install XAMPP, LAMP, etc. All we are doing is repeating tutorials already on the download sites(probably not keeping them up-to-date anyway).
- We need someone(or many) to step up and help out. I'd greatly appreciate it if you'd help create a structure for these types of pages. Help distinguish between the two. First, you'd need to see what just a few us are seeing. I'll email you. Thanks Tom Hutchison (talk) 12:04, 15 September 2013 (CDT)
- Oh, boy, am I going to disappoint you now! I'm sorry(!), but I really don't have the time lately to help out with it. (*) I was just communicating the value of the distinction so we don't lose it in the further plannings.. I can however wish you strength, courage and luck with it all. :-) For the record, I won't further discuss how this precise page of merge should be handled. I trust that, now that my view is given, you will choose the best option for it.
- (*) I think I am also a victim of my own efforts in many open sources (but also other kind of volunteering), which leaves me now with an urgent quest for a new income. :-( (I wish the world was money-less, like Star Trek and I could just help you right now, but alas..)