To my greatest surprise, my experience with PHP development starts with a REAL pain in the...installation.
I have started it with a brand new Windows 10 x64 installation.
I found a page where all the necessary informations are present to setup WAMP server (updated as of 2022-05-07): https://wampserver.aviatechno.net/?lang=en&prerequis=afficher
Unfortunately, the very much REQUIRED services are not downloadable:
Like this: http://www.microsoft.com/en-us/download/details.aspx?id=8328
There are SO questions about how to fix various installation issues...
Wait...WHAT? One of the largest ecosystem in development does not have a single setup environment?
After I downloaded the VC installers one by one, manually, I get this when starting the server:
So please verify that this is the proper, 2022 experience of using WAMP for PHP development, I'm in a bit of shock after experiencing .NET programming so far.
Can you suggest some real and working solution?
The most straightforward solution is to use a different package that creates a WAMP stack and just works perfectly after a simple install.
This package is XAMPP.
The most obvious characteristic of XAMPP is the ease at which a WAMP webserver stack can be deployed and instantiated. Wikipedia
Related
I understand LAMP, MAMP and XAMP are solution stack. I also understand there are frameworks like Laravel and Symfony.
If I have to start PHP development in a proper manner, Is it required to have a solution stack installed first and then the framework to have a professional set up?
If the answer is yes, then I am assuming the versions of the software inside the package is quite important for compatibility with the framework. Is there a popular combination out there?
And In Live, I suppose, I just to need to have the solution stack installed for the package to run.
My dev machine is a MAC with OSX 10.9.5 and my Live is going to be in Linux. I need to make sure these fundamental knowledge is concrete before I start the work. Any help is much appreciated.
Laravel has a all-in one virtual box solution. It's called as Homestead. Homestead works on many platforms such as Linux, MAC, Windows and contains everything you needed:
Ubuntu 14.04
PHP 5.6
HHVM
Nginx
MySQL
Postgres
Node (With Bower, Grunt, and Gulp)
Redis
Memcached
Beanstalkd
Laravel Envoy
Blackfire Profiler
If you decide to go with other solutions you will probably face with many problems like enabling essential extensions and with changing some system settings.
Besides you can use this solution for pretty much every kind of php framework or code.
Just follow the steps in the guide and almost everything will be ready to use just in few minutes after download finishes.
Laravel is good choice as there is big community and Google trends show it is growing very fast.
As it is PHP then you need to have server which processes the PHP. Usually it is Apache2.
Many people like to use MAMP, XAMP to simplify their development. I prefer to use standard Apache2 myself and you can even just rely on Laravel/PHP builtin server that you can start with php artisan serve, It will be enough for defelopment purposes.
I'm new to RoR. I have a separate install of MySQL that I've been using the command line to access. I also have MAMP PRO on my machine for PHP development. I am having trouble finding out how to switch back to MAMP PRO installation when I'm
working with PHP. I am assuming the issue is related to them using the same sockets although as a newbie to this particular situation I am unsure. My research has failed to yield the answer to this exact situation. Most questions have related to using MAMP with RoR. Some advice on whether having 2 installs of MySQL on the same Mac is possible/a reasonable thing to do would be appreciated.
I tried MAMP but needed SNMP support so I moved to XAMPP. I also had two MySQL installs running at various times and it was always a problem to keep everything in sync. Then I realized that I should probably just be running everything natively on the Mac, which comes with Apache, PHP, and Ruby anyway. This site helped me get that all going - http://coolestguidesontheplanet.com/get-apache-mysql-php-phpmyadmin-working-osx-10-10-yosemite/. Everything - PHP/CakePHP and Ruby On Rails - works perfectly now.
It greatly depends on how you have MAMP setup, but does specifying the port at the end of your PHP environment help? (MAMP uses 8888 by default I believe)
http://yourdomain:8888
I just got my self a new laptop, it runs on windows 7 and i am in deliberation what dev environment to set up.
I have most of my life used wamp set up, on windows machines for local dev environments. Here i recently installed IIS and it looks very convenient to set up sites and so on and so forth.
So I am thinking of installing php and mysql and runing local dev environment via IIS. The question is as I am fairly new to IIS. Are there any draw backs to running php/mysql via IIS in local dev environment. What are my limitations, will running php/mysql create any limitations if any that will hinder development and might effect deployment.
Back in a day i had some exposure to ISS with php running on server, it was long time ago, but php was not completely supported and some dev issues arose.
Thank you guys for any input. Greatly appreciated.
Usually it is a benefit if you can use identical environments for development and production. So the question is:
On what stack do you deploy you applications?
I personally believe that apache on windows is still a better solution to develop PHP. Reasons:
much more documentation about the interaction between PHP and apache (for example url rewriting, proxying, etc...)
apache is the de-facto standard for PHP, so if you plan to deploy to apache later, you will face less potential problems due to platform differences (also regarding the rare subtle bugs which can plague ported software)
I find it easier to get meaningful error messages out of apache than from IIS
I try to install the same PHP and Apache versions I will be deploying to, so the chances to have differences is minimal...
I would go for Apache - mainly for the .htaccess functions - rewriting etc are slightly more tricky in IIS and you may not get as great portability when transfering to a LAMP setup.
I want to develop a professional website using PHP and MySQL. Can i do it in Windows 7 (64-bit) or i need to install linux based OS. How to go for it.
You can run an AMP Stack (Apache, mySQL, PHP) on Windows no problem. I have been doing this for ten years now. Running on Windows 7 64-bit is also no problem.
There are several pre-packaged installers available. My favourite is XAMPP. They usually allow full customization where needed.
You can also download the stand-alone binaries of each product and install them manually. Makes for very, very good learning but is more work.
Yes, you can.
Though a platform is the least thing you will need...
As mentioned it is possible to develop Php and MySQL sites quite happily on Windows using something like XAMPP, even if they are later to be deployed on a Linux web server and I know a lot of people do this and it works great for them.
However I have found in the past you can run into problems later on this way. For example, a lot of people who have only used Windows in the past can get caught out by case-sensitivity in Linux. So your site runs great locally but then you start getting lots of 404 errors when you go live because for example, mypage.php is not the same as myPage.php any more.
At the other end of the development spectrum, you can achieve some really powerful functionality when you start to work the server a bit more - things like video encoding or audio conversion are possible using PHP (with a bit of help from some other apps) on both Windows and Linux but the ways that you would do it are different therefore your development environment becomes much less useful and again you run the risk of putting something live that doesn't work, even tho it runs fine when you test it locally.
Personally, I think it is always best to develop on as close an environment to the intended production server as you can to avoid any nasty surprises when you go live.
Develop on the same platform you are going to be deploying to (if possible). It'll make it extremely easy to deploy with less room for possible error.
Installing the 64-bit versions Apache/PHP/MySQL on Windows 7 is a bit of a pain, but you can easily install the 32-bit versions using XAMPP (as mentioned by Pekka) from apachefriends.org
For Windows you can use a light package, which content php, apache, mysql, pear. link text
Hello i was wondering if anyone had to install/or is working with Zend Server.
My Question is: If i install Zend Server on a production server will it mess up my existing PHP configuration? Will i have to bring my application offline first or will Zend Server install without problems?
The application must run 24/7 and i need a reliable PHP Stack that will boost performance. Any comments on the performance part of Zend Server? Does it worth the installation?
Thanks,
That's no way to think about handling a production server.
I'm not experienced with the Zend Server product, but I wouldn't just install anything on top of a running production system.
Instead, get yourself a new server that will eventually replace your production server.
Then:
Start with a clean install of your distro of choice.
Install ZS (take notes on exactly what you do)
Install your application and data (take notes on exactly what you do)
Test it thoroughly.
If it works, nuke the server, and repeat 1-4, using your notes.
Once you're satisfied that you can get everything working "from scratch" using your notes, create a plan to migrate from the old server to the new one.
Doing it this way ensures that
You have minimal downtime.
You don't have some mess with ZS installed over the top of some other set up.
You can re-build your server when necessary (you created documentation)
2016 Edit: These days, there are various tools such as chef, ansible, or salt that replace obsessive note-taking with automation. I highly recommend anyone managing production systems learn one or more and use them liberally.
When Zend Server is installed on Linux boxes, it will replace the PHP packages supplied by the distribution, and some other packages which supply some PHP functionality. As tim said, it is better for you not to replace the production server environment on the first round, as not always things will work as expected, even to the advanced users.
Take another machine with similar environment and make it your staging/development environment. This will allow you to play with Zend Server features without actually taking down your production server and sites. At the moment you are sure everything works as expected, and only than, start thinking about changing your production site.
To run multiple LAMP servers on Ubuntu, I use XAMPP for Linux and Bitnami LAMP Stack .
By default, the first works on port 80, the second on 8080. Hence they don't conflict. If you know a little about Apache configuration, and if can write a few simple scripts, you can do many things.
However, doing anything on a production server is dangerous.
Both XAMPP and Bitnami stacks are meant to be development environments.
See timdev's answer, +1 to that.