How do I run a file on localhost? - php

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.

Related

Give a client working PHP file that is executable in Windows that also outputs directories and files

I created a PHP script that takes an input of a CSV file through the web browser and outputs a bunch of directories and files according to the CSV file. Now I want to give this to my client as a standalone application without the need to host their own LAMP stack as my client is not technical at all. He just wants it to live natively on their desktop where he can easily click to open it.
I think you can use Docker.
You can make the php script run from docker by creating a folder structure like this:
docker-compose.yml # This file should contain the docker configurations
run-application.bat # This file should run the docker application
app/ # Insert the script and map it inside the docker configuration
once run-application.bat is clicked the script should run docker and create a LAMP server mapped to the client computer local port.
You can also decide to automaticaly open the browser.
Two steps only, 5 minutes. Put EasyPHP (https://www.easyphp.org) on a USB key and put your file in "www". Your client will able to run those file by launching EasyPHP. He can even copy the whole folder on his hard drive. EasyPHP is portable.

How do you manage your PHP and SQL file once uploaded to a server?

First of all I apologize for the dumb question. I'm new with all this. I already searched an answer on Google, but I couldn't find anything comprehensible for me.
So, I managed to create my html, CSS, JavaScript files. I managed to install XAMPP, create SQL databases, access and update them with PHP from my html page.
Now I have full access to my files, since they're on my computer. But how does it work when I move them to a server?
First, what files should I move exactly? All the XAMPP folder? Just html, css, js and PHP?
Second, once uploaded the files, how can I access them, for updating, or for viewing the database? Can I still use XAMPP or after uploading the files to a server XAMPP becomes useless?
Thank you a lot.
First of all if you want to upload file to a online server. there are many tools which can allow you upload them. In my Case i use filezila.
This is how it is presented:
you will move everything located under xamp/htdocs/YOUR_PROJECT and move it on the server ( in my case under public_html folder). Html, php, css, ...
You can delete, rename or modify them within filezila at server file section as described in the picture. Right click on a file > all actions will be seen
for viewing the database check in Admin panet of your host website in my case hostinger and on Databases choose for example phpmyadmin and you will be redirected to you Database panel to view all your databases
I think this helped.
Your hosting provider presumably already has the equivalent of your XAMPP stack installed. (Unless you're starting with an unmanaged VPserver, in which case you'll have to install and configure an Apache-MySQL-PHP stack before your website will function.) Assuming a standard hosting solution, you will only need to upload the files specific to your project.
Basic steps to deploy from local to remote server:
Using an FTP client of your choice, upload your PHP, HTML, CSS, JS, image etc. files to your server's public_html folder. (Full path will be something like /home/example.com/public_html/ on a Linux server, depending on your hosting provider.)
Use a database manager (such as PHPMyAdmin) to upload the SQL file into a database you've created.
Update any absolute paths you may have used in your PHP files, reflecting the live/production server's filesystem structure.
Update your database-connecting PHP file(s) with the appropriate credentials. (They're probably different from your local server's user/password.)
You will want to ensure that your remote server's configuration supports all the functionality your code depends on (e.g. PHP modules and other configuration).
If you put a bit of thought into your code, you won't have to maintain separate local/remote files, and won't have to bother with steps 3 & 4. You can e.g. define your configuration based on a local IP address check (we're testing for both IPv4/6), as follows:
if (in_array($_SERVER['REMOTE_ADDR'], ['127.0.0.1', '::1'])) {
// local config here
} else {
// remote config here
}
Then, does your local server become useless? If you don't ever intend to develop code again -- yes. Otherwise, you will probably want to develop and test your code on your local machine, and only deploy it to your live/production server when you're satisfied it's stable enough for public release. You don't want to do your R&D on the live server!

PHP/Python script runs as expect on XAMPP , but not on Linux server

I have a PHP script that I am testing with XAMPP that will have a user upload a file, run file through Python script, then output an output Excel file. Everything works great on my local machine. However I want to put this tool on my works internal server (running Ubuntu Linux) so everyone can use the tool. The issue I am running into is that in my PHP script, I check the client's directory to ensure that the output directory is created, if not it is created for them. Since the tool has been moved to the Linux side, I am unsure how I can reference the users directories to check to see if a specific folder exist, or even to specify that location that output should be written.
One thought I had was to call a Python script to SFTP the selected file over to the Linux side, run the process, then SFTP the output file. However, the issue I have found is that I need to know the full path to the file in order to do so, and the upload process only seems to capture the file name itself (for security reasons I understand). Ultimately I could use a suggestion on how I can take this working PHP/Python process using XAMPP, and move it to a local Linux server and still be able to check the Windows file directories and create a Windows folder if needed.

Using PHP scripts from html on mac's default web server

I'm developing a site with PHP and I need to test it using my Web Server on Mac. I installed the server and made sure it's working. Localhost is seeing and serving whatever I put in /Library/WebServer/Documents.
Now I put a test script in the CGI-Executables directory, and tried calling it from an html file inside the Documents directory. It results in this error:
The requested URL /CGI-Executables/SM.php was not found on this server.
The file is there, so I'm assuming it's a configuration issue, and looking around I played with the /etc/apache2/extra/httpd-vhosts.conf file but it seems like an overkill. I don't need a virtual host, and I'm not going to serve anything from my development machine. I just want to develop my site.
You should either put your scripts in /Library/WebServer/Documents/ or call them like /cgi-bin/SM.php Also, are you sure you want cgi scripts or do you just need your php to work? If its the latter, then putting them up in the Document root is a better option than using it as cgi script.

PHP won't open files in Ubuntu LAMP web application

I am working a LAMP web app running on Ubuntu 11.10.
I followed instructions on the web to harden my apache, php and mysql.
I have a PHP script which work fine when I run from the command line under my own id. But when I put the scripts into the web app framework, it can't not even open a log file to write (in /tmp) and it can't read other files in /var/www/myapp/html as well.
I used Ajax to retrieve file contents on the server and then serve those files to the browser. So my url will look like: "php/myphpscript.php?arg=.......".
My directory structure is
/var/www/myapp/html|php|js|cfg.
I know this problem has something to do with permission, security but I am quite at loss.
Can someone describe what I need to do here?
Thanks,
I suspect you copied the files with your username, but apache executes as user www-data an thus has no access to your files. Either change them to belong to the apache user, or if you are the only develper on this machine, cahnge apache to run as you.

Categories