PHP page only works when launched from compiler - php

I created a real time plot with flot and I made it work finally but there is one particularity: It only works if I launch the page from WebMatrix IDE.
This code has a PHP script to acquire data and then plot it. When I'm on the IDE, I use the option "preview in browser" and it works but if I close WebMatrix, go to the folder and double click to start "index.php" on Firefox it does not work.
Why is that?

It looks like you aren't running a server. PHP is a server-side scripting language, and as such it needs to run on a server to do anything. Google "Apache web server" or alternatively "IIS web server".

PHP is a server-side scripting language. You can't just open the file like an static HTML webpage. You should use a web-server (such as XAMPP) to view it correctly.
Your WebMatrix IDE previews your file correctly because it process the PHP file for it's output.

Related

How do I configure vscode live server to process php files properly (it is work very well with .html files )?

I am trying to develop web pages with php calls using vscode and vscode live server. I have installed live server and it works fine with html/css/js. However if the code I'm developing refers to a .php file, I just get the text of the php file, it is not executed by the server. I did find live-server-web-extensions which installs into the chrome browser, presumably to do a reload when the php files are modified as well.
So what I need to know is: How do I configure the server to process php files? I do have php.exe on my system, and if I used the php browser, things work fine. But I'd like to use vscode and live server for development, and I'm missing the secret sauce. I'm am using the Chrome browser and Windows 10problem

Does HTML5 wih php require a webserver?

I am studying on YouTube HTML5 forms with PHP files; the videos either start with a web page containing the form and link to a PHP file or they put everything in php files; I copy the instructors exact files; but they do not work: nothing is posted after filling the form and hitting the submit button.
I have had the files on a USB flash drive then tried them actually on the computer: nothing.
My question is then: "Do I need to have an actual server on my computer in order for PHP files to function?"
Yes. PHP requires a web server to run on.
You can run it on your own computer; the web server doesn't have to be connected to the internet while you are creating and testing your PHP scripts off your local machine. You can read more about this on the official PHP What do I need page
You can download one of the following local servers:
Windows: WAMP
OSX: MAMP
Linux: LAMP
XAMPP is also an option, it's cross-platform (as referenced by ATechGuy)
Here is a good explanation of Why a web server is required to run PHP. Basically it is because PHP is a dynamic server-side scripting language.
However if you just want to run simple PHP scripts, with no web pages. This is possible without a web server running. See this question: How can I run a php without a web server?
Yes, PHP will need to run on a server in order to execute. If you have a Mac, it should be equipped to run an Apache server. I found this article to be really helpful when developing with PHP - https://jason.pureconcepts.net/2015/10/install-apache-php-mysql-mac-os-x-el-capitan/
Yes. PHP files contain code that must be handled by an interpreter, that is, a program that reads the PHP code and outputs accordingly. This can be done without a webserver (using command line php) but PHP is most commonly used with a web server.
You want to setup some sort of stack with a web server and php. A lot of beginners use apache as a web server, and since you are comfortable using youtube for learning, a simple search for "apache php" and your operating system.

How to add a handler to embedded-jetty server in eclipse

I am developing with GWT in eclipse, its run ok and launch jetty server like spected, but when i try to communicate my gwt page with php i find jetty server handles php files like text files, just send file contents and does not executes php script.
I need jetty server for GWT code, and run apache/php for php code (in different ports), but jetty must redirect php calls to apache.
Searching in google i find a possible solution: a jetty handler could redirects php request to apache server running php.
Someone knows a better solution?
Someone knows how to add a handler to jetty server running embedded in eclipse?
is there a existing jetty handler what redirects calls (proxy) to another server?
Thanks in advance

Windows desktop icon for starting PHP application

I created a PHP application with Zend Framework that I would only ever like to run locally with an XAMPP installation.
I've never coded in anything but PHP, so I would like to know what technologies are involved in creating this functionality:
User double-clicks a desktop icon.
XAMPP starts
Apache and MySQL start.
Browser opens pointed to "localhost"
What technologies do I need to learn in order to accomplish this?
Unless you want to do this with a custom written application as #rlemon recommends, you should be able to do it with a batch file. It's the Windows version of script files.
Resources/hints to give you some ideas:
Microsoft Windows XP - Batch files general overview on MSDN
How to start and stop XAMPP server from the XAMPP docs
The start command (Running start http://localhost in the batch file should work to open the web browser)
I don't know any program that will start you the servers, and after they are up and running then launch the browser. What I've used is Mozilla Prism, this program gives you the ability to make a web site to show up in the desktop, quick launch or start menu like any other program.
You can enable/disable the back & forward button, the address bar and some other nice configs.

How do I run a file on localhost?

How do I actually run a file on localhost?
I know it is working, but how do I run a file on it, and how do I verify that the file is in fact running on localhost?
Server newbie here, additional questions (I have xampp running Apache 2.2):
From your responses it sounds like I have to type in the path in the browser in order to open the file on the localhost. So, if I want to have the file in a subdirectory, I would have to type the full path including the directory?
Is there a way to have the browser point to the localhost while I am working on my html, instead of having to type in the path all the time?
I am working in Dreamweaver CS3, and want to use include commands (either SSI or PHP), but not have to keep putting my files up on HostGator in order to see if they are working.
What is the best way to do this (please be specific, I know nothing). If there is a detailed tutorial anywhere, really appreciate a link.
Thank you
Ok, thanks for the more specific info, ppl may remove their downvotes now...
What you are proposing is a very common thing to do! You want to run your web application locally without uploading it to your host yet. That's totally fine and that's what your Apache is there for. Your Apache is a web server meaning its main purpose is to serve HTML, PHP, ASP, etc. files. Some like PHP; it first sends to the interpreter and then sends the rendered file to the browser. All in all: it's just serving pages to your browser (the client).
Your web server has a root directory which is wwwroot (IIS) or htdocs (apache, xampp) or something else like public_html, www or html, etc. It depends on your OS and web server.
Now if you type http://localhost into your browser, your browser will be directed to this webroot and the server will serve any index.html, index.php, etc. it can find there (in a customizable order).
If you have a project called "mytutorial" you can enter http://localhost/mytutorial and the server will show you the index-file of your tutorial, etc. If you look at the absolute path of this tutorial folder then it's just a subfolder of your webroot, which is itself located somewhere on your harddrive, but that doesn't matter for your localhost.
So the relative path is
http://localhost/mytutorial
while the absolute path may be
c:/webservices/apache/www
or
c:/xampp/htdocs
If you're working with Dreamweaver you can simplify the testing process by setting up your local server as a testing server in your project settings. Try it! It's easy. Once it's done, you can just press the browser icon with any of your files and it will open on localhost.
You can do it by running with following command.
php -S localhost:8888
I'm not really sure what you mean, so I'll start simply:
If the file you're trying to "run" is static content, like HTML or even Javascript, you don't need to run it on "localhost"... you should just be able to open it from wherever it is on your machine in your browser.
If it is a piece of server-side code (ASP[.NET], php, whatever else, uou need to be running either a web server, or if you're using Visual Studio, start the development server for your application (F5 to debug, or CTRL+F5 to start without debugging).
If you're using a web server, you'll need to have a web site configured with the home directory set to the directory the file is in (or, just put the file in whatever home directory is configured).
If you're using Visual Studio, the file just needs to be in your project.
Localhost is the computer you're using right now. You run things by typing commands at the command prompt and pressing Enter. If you're asking how to run things from your programming environment, then the answer depends on which environment you're using. Most languages have commands with names like system or exec for running external programs. You need to be more specific about what you're actually looking to do, and what obstacles you've encountered while trying to achieve it.
Looking at your other question I assume you are trying to run a php or asp file or something on your webserver and this is your first attempt in webdesign.
Once you have installed php correctly (which you probably did when you got XAMPP) just place whatever file you want under your localhost (/www/var/html perhaps?) and it should run. You can check this of course at localhost/file.php in your browser.
Think of it this way.
Anything that you type after localhost/ is the path inside the root directory of your server(www or htdocs).
You don't need to specify the complete path of the file you want to run but just the path after the root folder because putting localhost/ takes you inside the root folder itself.
i am working in VScode currently. i was wanting to run my html page just to see all my main elements.
1) first, in vs, right click desired html file and choose "copy path". do not choose relative.
2) finally, paste html path in address bar (i used chrome) and hit enter. your html page should display. hope this helps someone out.

Categories