No input file specified using PHP 7.3.5 or 7.4.1 ... 5.6.39 works

local-lightning.log (895.4 KB)

Looking at that Local log, it seems like maybe there was an issue importing that site:

{"thread":"main","class":"ImporterGeneric","stack":"Error: ERROR 1050 (42S01) at line 11: Table 'wp_commentmeta' already exists\n    at %%appPath%%\\main\\_helpers\\importSQLFile.js:1:2105\n    at Generator.next (<anonymous>)\n    at a (%%appPath%%\\main\\_helpers\\importSQLFile.js:1:132)\n    at runMicrotasks (<anonymous>)\n    at processTicksAndRejections (internal/process/task_queues.js:93:5)","level":"error","message":"Unable to import E:/Websites/_psc/Evidence Based Classroom Solutions/app/sql/20200813_evidencebasedclassroomsoluti_933f8057c2b07f956734_20200813145139_database.sql","timestamp":"2021-08-18T10:48:51.088Z"}

In particular, it seems like maybe the SQL dump isnā€™t correct and has multiple wp_commentmeta tables.

You might need to open up the sql file thatā€™s trying to be imported and remove any sections that point to there being multiple tables.

As a test to see if this feature is resolved for you, can you try creating a new, plain WordPress site that is using Apache?

I can try to create a new site and see if that works but the issue with the table has something to do with the fact that I am using a remote database. In the previous version of Local I was able to just use the db name, user, password, and ip address but now for some reason in the latest version there is a port assigned and I have to include the port in the ip address. So for example, for all of my sites that use a remote database (staging) the format is xxx.xxx.xxx.xxx:1234, where 1234 is the port number of the remote serverā€™s mysql application.

1 Like

Unfortunately, even when I try to create a new test site in Local I get the same issue ā€œNo input file specified.ā€. Attached is the updatedlocal-lightning.log (905.7 KB) log.

Any update Ben?

Very interesting!

Looking at the Local log, the only thing that comes to mind are these two lines:

{"thread":"main","class":"Process","process":"httpd","level":"warn","message":"AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe80::9560:c258:b9b4:f395. Set the 'ServerName' directive globally to suppress this message","timestamp":"2021-08-19T18:22:36.977Z"}
{"thread":"main","class":"HostsFileService","stdout":"Updating hosts file at  C:\\WINDOWS\\System32\\drivers\\etc\\hosts\nUpdated hosts file at  C:\\WINDOWS\\System32\\drivers\\etc\\hosts\n","stderr":"","level":"info","message":"Updated hosts.","timestamp":"2021-08-19T18:22:40.796Z"}

Note this part:

AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe80::9560:c258:b9b4:f395

Which is basically telling us that Apache is trying to use the IPv6 version as the serverā€™s name. I donā€™t know for sure if that would cause issues, but looking over my Local log, all of the entries for when Iā€™ve created Apache sites have used IPv4:

Do you know if you have any custom configuration within the computerā€™s Hosts file? I wouldnā€™t think itā€™s an issue, but do you have a VPN?

@ben Iā€™m not using a VPN or anything customized in my hosts file. Attached Clipboard01 is the hosts section related to the test site that I set up using Apache.

What is the site name in Local, eg my-site.local

I can make out the attached graphic.

geez sorry about that not sure why it attached so lo-res. The site name is test-site.d4tw

::1 test-site.d4tw #Local Site
127.0.0.1 test-site.d4tw #Local Site
::1 www.test-site.d4tw #Local Site
127.0.0.1 www.test-site.d4tw #Local Site

I donā€™t know if the .d4tw Is an issue, can you change it to something like .local or .test to see if it makes a difference?

Didnā€™t make a difference changing to test-site.local

Try nginx instead of Apache, just for fun.

That works fine but I need Apache.

How was the domain changed? Did you change it only in the hosts file, or through the Local ā€œSite Domainā€ field?

Alternatively, if you create a new apache site with the .local top-level-domain, does that work for you?

If you still have issues, Iā€™d be interested in seeing a screencast so that I can better visualize where things are breaking down. Also, can you provide an updated version of the Local log for us to look at?

I changed the domain using Localā€™s ā€œsite domainā€ field.

I just created a new apache site using .local as the domain extension and still got the same message.

Here is a screencast: https://drive.google.com/file/d/1A0h3UwWswAb8ARThhD2ZhN1UVbhd9A-k/view

Attached is my updated log.

local-lightning.log (933.3 KB)

Iā€™m also still getting ā€œNo input file specified.ā€ when trying to access a site thatā€™s configured to use Apache with my sites stored on my D:\ drive on Local 6.1.1+5468 under Windows 10 Pro. I followed the instructions here and deleted the PHP service, and for good measure the Apache service too. Once the services were deleted, I created a blank site with PHP 7.4.1 and Apache and the services were downloaded and installed.

When I configure a site to use Nginx, it will work, but Apache is still generating the same ā€œNo input file specifiedā€ error.

I cleared out Localā€™s Router log and Error log and created a new site (apacheond.test) configured to use Apache. This was after deleting the Lightning services and creating the dummy site to pull down the new services. Iā€™ve attached Localā€™s log file, the route file for the site (not sure if this is relevant. had to rename to .log to upload), and also a .zip the siteā€™s config folder from AppData\Roaming\Local\run. There was nothing in Localā€™s router log after doing this test.

I think the relevant error message is:
{"thread":"main","class":"Process","process":"httpd","level":"warn","message":"AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe80::f43b:7568:aa4c:29d7. Set the 'ServerName' directive globally to suppress this message","timestamp":"2021-08-27T16:53:47.512Z"}

The relevant entries in my hosts file:

::1 apacheond.test #Local Site
127.0.0.1 apacheond.test #Local Site
::1 www.apacheond.test #Local Site
127.0.0.1 www.apacheond.test #Local Site

GFur9TBL_.zip (5.3 MB)
local-lightning.log (8.0 KB)
route.apacheond.test.conf.log (479 Bytes)




1 Like

^^ BUMP ^^

Any update on the issue? Thanks dromsey for all of that information.

1 Like

Ok, I followed up with on of the Local engineers and it looks like this might be a limitation of Apache and how Local references the full path.

There doesnā€™t look like an easy way forward due to this being a limitation in Apache itself. Basically, the two main ways that other projects get around this is to mount the folder within a POSIX style tree.

Think of something like Docker or Cygwin. In the case of Docker, itā€™s a full blown virtualized container and in the case of Cygwin, itā€™s a mounted filesystem that looks something like:

D:\\ --> /mnt/d

Since a solid fix for this involves a much larger architectural change, Iā€™m guessing there isnā€™t a quick fix available. I definitely want to see Local solve these sorts of issues, so Iā€™m going to keep working towards improving this sort of thing, but in the meantime, I think the only real work around is to either:

  • Use Nginx across partitions
  • Use Apache on the same, C:\ partition

Thank you Ben for the follow through and information. Is it possible for me to install local on the removable drive so that it is on the same as the files/sites?

Due to how Local is built, even if the application was installed on the other drive, there would still be issues because Local stores its configuration and ā€œrunā€ folders wherever your userā€™s home directory is, by default the C:\\ drive. Those run folders are the reason this is failing. They are basically the raw server files like the MySQL DB files on disk, or the raw Apache configuration.

Nginx is built in a way that it doesnā€™t really care if itā€™s configuration is on a different partition, but Apache does care.