Test Your PHP Application on PHP 7




PHP 7 is coming, which is pleasant, yet what does it mean for the greater part of PHP developer london? PHP as a network is famously moderate in appropriation, a few of us are as yet sitting tight for 2012's new gleaming to be accessible as standard on our facilitating stages. Anyway with the execution benefits and a couple of extremely decent new highlights, PHP 7 is definitely justified even despite everybody's consideration, and it's very simple to begin so here's my speedy how-to.


Get A PHP 7 Platform



These examples utilize Rasmus' php7dev box since it's independent so it won't affect some other part of your setup, and in light of the fact that it's super-easy to begin with on any stage.

It's a vagrant box running Debian 8 and with an really simple method for exchanging PHP renditions, including 7. Different PHP version is super helpful on the grounds that then you can without much of a stretch check if your PHP 7 bug truly is a PHP 7 bug or in the event that it was there on PHP 5.6 too.

To get another project set up you have to make the records available in the PHP 7 VM, and set up a nginx server square (likeness a virtual host) to point to it. On the off chance that your undertaking needs stockpiling behind it, you can either associate with those on your host machine, or the VM has MySQL and PostgreSQL as of now installed. If you wanna build web design & development you can check here hire php developers or Laravel development



Mount Your Project As A Shared Folder


Do this progression before booting the virtual machine (or simply vagrant stop). Add a line to Vagrantfile to advise the VM to share another folder:

    config.vm.synced_folder "/home/lorna/projects/joindin", "/vagrant/joindin"

I added mine quickly before the end at the base of the record - the principal index way is the place it is on my workstation, and the second is the place it will be in the VM.

Now when you vagrant up and SSH in (vagrant ssh from an indistinguishable registry from the Vagrantfile), you should see your index is there with the records display



Configure Nginx


While I mostly use Apache with mod_php, this container defaults to utilizing nginx and it's anything but difficult to set up regardless of whether you haven't utilized it previously.

We should simply make another document in/and so on/nginx/conf.d, and include something like (there's a considerable measure of this, I clearly duplicate/stuck the beginning stage from someplace yet I'm almost certain it has everything that most applications require so attempt it):


server {
    listen       80;
    server_name  api.joindin.php7;
    root   /vagrant/joindin/joindin-api/src/public;
    index  index.php;
    access_log  /var/log/nginx/default-access.log  main;
    error_log   /var/log/nginx/default-error.log;
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /var/www/default;
    }
    location / {
        try_files $uri $uri/ @rewrite;
    }
    location @rewrite {
        rewrite ^(.*)$ /index.php;
    }
    location ~ \.php {
        include                  fastcgi_params;
        fastcgi_keep_conn on;
        fastcgi_index            index.php;
        fastcgi_split_path_info  ^(.+\.php)(/.+)$;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors on;
        fastcgi_pass unix:/var/run/php-fpm.sock;
    }
}


Edit your server_name and root settings as proper, at that point restart nginx with: sudo benefit nginx restart

Now, the VM is prepared yet our host machine (for this situation my workstation) doesn't know where to send the movement.



Set Up Your Host File


The VM will by default, of course, have an IP address of 192.168.7.7 and ideally you know where your host's document is. I'm on Ubuntu so mine is/and so on/hosts and I simply need to add one line to it: 192.168.7.7 api.joindin.php7

You should now have the capacity to hit your picked hostname from your program and see your PHP application working (or not). Mistake logs are in/var/log/nginx, and as I say, it merits changing back to PHP5.6 (by running new PHP 56 - then you need new PHP 7 to switch back later) to check if the issue is really PHP 7 or in the event that you set something unique up off-base.

In the event that you have test suites, if it's not too much trouble run them, and put your application through hell. Any bugs you discover, attempt to limit the replication case and report them to the proper place - this may be your group, yet could simply be a library, a system, or PHP itself. The best way to get PHP and its environment on a par with it can be before it goes stable is for every one of us to do with it before discharge every one of the things we'll need to do after!



Getting Going With PHP 7



Hopefully, this gave you a quick start on a simple stage to experiment with the code on. I composed it for testing a current framework however you could utilize it for playing with new code, or extremely whatever you are keen on. It was initially worked to help with testing both the dialect itself and furthermore the expansions -

in the event that you need to get required with those initiatives, there's bounty still to do and you can discover us at http://gophp7.org/gophp7-ext/, we would love to have some more hands helping us prepare PHP and now you have the instruments you require too!

Must read this article PHP vs Node.js: Why PHP can still have a chance to survive?

Test Your PHP Application on PHP 7 Test Your PHP Application on PHP 7 Reviewed by David Piterson on July 10, 2018 Rating: 5

No comments:

Powered by Blogger.