No input file specified
The No input file specified is a message you are presented with because of the implementation of PHP on your server, which in this case indicates a CGI implementation (can be verified with phpinfo()
).
Now, to properly explain this, you need to have some basic understanding on how your system works with URL's. Based on your .htaccess file, it seems that your CMS expects the URL to passed along as a PATH_INFO
variable. CGI and FastCGI implementations do not have PATH_INFO
available, so when trying to pass the URI along, PHP fails with that message.
We need to find an alternative.
One option is to try and fix this. Looking into the documentation for core php.ini directives you can see that you can change the workings for your implementation. Although, GoDaddy probably won't allow you to change PHP settings on a shared enviroment.
We need to find an alternative to modifying PHP settings
Looking into system/uri.php
on line 40, you will see that the CMS attempts two types of URI detection - the first being PATH_INFO
, which we just learned won't work - the other being the REQUEST_URI
.
This should basically, be enough - but the parsing of the URI passed, will cause you more trouble, as the URI, which you could pass to REQUEST_URI
variable, forces parse_url()
to only return the URL path - which basically puts you back to zero.
Now, there's actually only one possibilty left - and that's changing the core of the CMS. The URI detection part is insufficient.
Add QUERY_STRING
to the array on line 40 as the first element in system/uri.php
and change your .htaccess to look like this:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
This will pass the URI you request to index.php
as QUERY_STRING
and have the URI detection to find it.
This, on the other hand, makes it impossible to update the CMS without changing core files till this have been fixed. That sucks...
Need a better option?
Find a better CMS.
Some server giving No input file specified
For non-existing pages uris/requests, you could try following rules. Along with rules please make sure your index.php is residing in same folder where index.php is present. Please clear your browser cache before testing your URLs.
RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ index.php [QSA,L]
PHP error: No input file specified. in IIS 10.0, PHP 5.6 on local development server
After much beating my head against the wall, I finally found that it was all due to a bug with PHP and OneDrive. https://bugs.php.net/bug.php?id=75384
Upgraded PHP to the latest version, and also turned off the OneDrive setting, "Save space and download files as you use them." Rebooted, and it finally worked.
http://localhost/phpmyadmin/index.php No input file specified. nginx Windows Server 2012 php 7
You have multiple problems with your configuration.
You have a common document root, so you should place one root
directive in the server
block which is then inherited by all location blocks.
The "No input file specified" error message means that SCRIPT_FILENAME
is missing or wrong.
The location /phpmyadmin
block is unnecessary and should be removed.
In summary, try this:
server {
listen 80;
server_name localhost;
root /nginx/html;
location / {
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location ~ \.php$ {
include fastcgi.conf;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
}
A useful resource for nginx
documentation is here.
How can I fix No input file specified in laravel homestead
From the Laravel documentation that can be found here: https://laravel.com/docs/6.x/homestead#adding-additional-sites your path needs to include the public directory like so:
sites:
- map: homestead.test
to: /home/vagrant/project1/public
- map: another.test
to: /home/vagrant/project2/public
Also, I would like to point out a minor spelling error in your current config:
/home/vargrant/code
Best regards
Related Topics
What's the Net::Err_Http2_Protocol_Error About
Send Value of Submit Button When Form Gets Posted
How to Create a Copy of an Object in PHP
Simple Postgresql Statement - Column Name Does Not Exists
"[Notice] Child Pid Xxxx Exit Signal Segmentation Fault (11)" in Apache Error.Log
Creating Jquery Ajax Requests to a PHP Function
Laravel Check If Related Model Exists
PHP List All Files in Directory
Which One Is the Best Pdf-API For PHP
Escaping Single Quote in PHP When Inserting into MySQL
How to Include Code into a PHP Class
Filter Multidimensional Array Based on Partial Match of Search Value
How to Resolve Curl Error (7): Couldn't Connect to Host
How to Get the Query Executed in Laravel 5? Db::Getquerylog() Returning Empty Array
How to Properly Escape HTML Form Input Default Values in PHP