I ran into issues with PHPStorm not delivering the website, but returns HTTP 404. I need to setup PHPStorm in a way that it does not serve files from a subdirectory. I know, numerous questions like this have been asked before, so I’ll make quite clear what I have configured and tried.
I’m on Windows 10 1903 and I’m using PHPStorm 2019.3 (latest version at the time asking this question)
-
I have added an entry in
C:Windowssystem32driversetchosts
to get a name mapped to localhost# localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost 127.0.0.1 eigener-prozessor
-
I can ping it
C:UsersT>ping eigener-prozessor Pinging eigener-prozessor [127.0.0.1] with 32 bytes of data: Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Ping statistics for 127.0.0.1: Packets: Sent = 3, Received = 3, Lost = 0 (0% loss),
-
In PHPStorm, the debugger is set to port 63342. And I allow unsigned requests (not sure if that really has an effect). I can’t check «external connections».
-
In PHPStorm, I have set up an in-place deployment as default, using the host and debugger port
-
I made sure the mapping is on the root path
-
I have renamed my project to match the host name (File / Rename Project …)
-
I have configured a PHP CLI interpreter and made a
php.ini
available -
I have marked the source and resource directory
-
I do make sure that I do not open a local file in a browser but use the buttons for that
-
It brings me to the correct URL but with HTTP 404. You can see that it serves from PHPStorm 2019.3.1, which is basically correct
-
In the web developer tools, I see that the IP address is 127.0.0.1
I have used the following SO questions as input:
- How do I get PHPStorm to use the correct path for CSS?
- Absolute path In WebStorm (PHPStorm might be similar)
- PhpStorm Localhost in root directory
I have also tried:
- using Chrome instead of Firefox
If I add eigener-prozessor
as a subdirectory, the website can be accessed — but the resources cannot be loaded, because they point to /css/something.css
, which is exactly why I went through all these steps.
I’m out of ideas. How do I configure the built-in webserver to serve its stuff on the root (/
)?
Please do not suggest a workaround like «use Apache» or «change the path to your resources». I have paid for the software and I expect the built-in webserver to work.
Запуск PhpStorm 2016.3.2, Ubuntu 16.04 с установленным и протестированным стеком PHP7 и LAMP.
Кажется, у меня есть ошибка в PhpStorm (или где-то еще внизу), в результате чего нажатие «Submit» в html-форме приведет к ошибке «404 not found», даже если путь действия формы действителен.
Я построил очень простое приложение, чтобы продемонстрировать это, однако следует отметить, что эта ошибка возникала каждый раз, когда я до сих пор использую html-форму в PhpStorm, даже примеры приложений, о которых я знаю, не содержат ошибок в коде.
Код для моей формы выглядит следующим образом
var $form = <<< FORM
<form action='?' method="post">
<p>Enter your number </p>
<input type="text" name="formInput"maxlength="10">
<input type="submit" name="formSubmit"value="Submit">
</form>
FORM;
После нажатия кнопки «Отправить» возникает ошибка 404. Я пробовал несколько проникновений формы действий, таких как ""
и даже переменная установлена в APP_ROOT_PATH
, а затем просто вручную введите правильный путь (даже другой файл php) также с одинарными и двойными кавычками.
Причина, по которой я считаю эти пути действительными, заключается в том, что, просто нажав в окне адреса на странице ошибки 404 и нажав ввод (тем самым перейдя по пути, по которому он пытался добраться), форма снова загружается нормально.
Я не могу понять, почему это может быть, если бы это были разрешения или ошибка пути, конечно, я бы тоже не смог получить доступ к пути из браузера?
РЕДАКТИРОВАТЬ: Глядя на исходный код показывает, что действие это то, что я хотел. Даже копирование URL-адреса оттуда и вставка его в браузер откроет правильную форму. Просто при нажатии «отправить» происходит ошибка 404. Правильный URL-адрес также находится в адресной строке на странице 404.
РЕДАКТИРОВАТЬ 2: для заметки, '?'
действие в приведенном выше коде не имеет отношения к проблеме, так как ошибка возникает независимо от того, какую правильную ссылку я там поместил, будь она ""
или полный путь.
1
Решение
Задача ещё не решена.
Другие решения
Других решений пока нет …
У меня возникли проблемы с тем, что PHPStorm не доставляет веб-сайт, но возвращает HTTP 404. Мне нужно настроить PHPStorm таким образом, чтобы он не обслуживал файлы из подкаталога. Я знаю, что подобные вопросы задавались ранее, поэтому я поясню, что я настроил и попробовал.
Я использую Windows 10 1903 и использую PHPStorm 2019.3 (последняя версия на тот момент, когда я задавал этот вопрос)
-
Я добавил запись в
C:Windowssystem32driversetchosts
, чтобы получить имя, сопоставленное с localhost# localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost 127.0.0.1 eigener-prozessor
-
Я могу пинговать это
C:UsersT>ping eigener-prozessor Pinging eigener-prozessor [127.0.0.1] with 32 bytes of data: Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Ping statistics for 127.0.0.1: Packets: Sent = 3, Received = 3, Lost = 0 (0% loss),
-
В PHPStorm отладчик настроен на порт 63342. И я разрешаю неподписанные запросы (не уверен, действительно ли это дает эффект). Я не могу проверить «внешние соединения».
-
В PHPStorm я настроил развертывание на месте по умолчанию, используя порт хоста и отладчика.
-
Я убедился, что отображение находится на корневом пути
-
Я переименовал свой проект в соответствии с именем хоста (File / Rename Project …)
-
Я настроил интерпретатор PHP CLI и сделал доступным
php.ini
-
Я отметил источник и каталог ресурсов
-
Я уверен, что я не открываю локальный файл в браузере, но использую кнопки для этого
-
Это приводит меня к правильному URL, но с HTTP 404. Вы можете видеть, что он работает с PHPStorm 2019.3.1, что в основном правильно
-
В инструментах веб-разработчика я вижу, что IP-адрес 127.0.0.1
Я использовал следующие вопросы SO в качестве входных данных:
- Как мне заставить PHPStorm использовать правильный путь для CSS?
- Абсолютный путь в WebStorm (PHPStorm может быть похожим)
- PhpStorm Localhost в корневом каталоге
Я также попробовал:
- используя Chrome вместо Firefox
Если я добавлю eigener-prozessor
в качестве подкаталога, доступ к веб-сайту будет возможен, но ресурсы не могут быть загружены, поскольку они указывают на /css/something.css
, именно поэтому я прошел все эти шаги.
У меня нет идей. Как настроить встроенный веб-сервер для обслуживания его содержимого в корне (/
)?
Пожалуйста, не предлагайте обходных путей, таких как «использовать Apache» или «изменить путь к своим ресурсам». Я заплатил за программное обеспечение и ожидаю, что встроенный веб-сервер будет работать.
2 ответа
Лучший ответ
Если я что-то не так понял, простой способ добиться того, что вам нужно, — это создать пользовательскую конфигурацию запуска типа PHP Built-in Web Server
:
- Введите Ctrl + Shift + A (или двойное смещение) и найдите
Edit Configurations...
- Нажмите кнопку
+
в левом верхнем углу, чтобы добавить новый - Выберите
PHP Built-in Web Server
- Задайте для
Host
значение «Собственный обработчик»,Port
— 63342. - Поле
Document Root
должно по умолчанию быть корневым для проекта, в противном случае установите его на - Переименуйте конфигурацию, при необходимости измените другие значения, затем нажмите OK
После этого вы просто сможете запустить указанную конфигурацию с помощью зеленого треугольника / соответствующей горячей клавиши и получить доступ к файлам проекта непосредственно в http: / / eigener — Prozessor : 63342 /.
1
Jeto
22 Янв 2020 в 07:22
Трюк с файлом hosts
больше не работает, следуйте WEB-38141 для обновлений. Таким образом, в настоящее время нет способа настроить встроенный веб-сервер для обслуживания файлов из корневого каталога.
1
lena
22 Янв 2020 в 15:14
Welcome to the Treehouse Community
The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.
I can not get this to echo to the browser. I am running phpstorm 9.0 instead of work spaces. I have composer and slim installed. Built that .htaccess file but still getting 404 error. Any help is greatly appreciated.
9 Answers
Ted Sumner August 12, 2015 5:34pm
I have no idea about PHPStorm. But I do know if you have the file in a subfolder in the folder you typically put your projects, you should use http://localhost/projectFolder.
After some time i have finally figured it out. Project folder has to be in the /xampp/htdocs/[your folder]. Plus in address bar i had to remove localhost:63342/simple_web/index.php/hello/chris to localhost/simple_web/index.php/hello/chris and it works. Thank you ted for your earlier post it pointed me in the right direction.
do you have apache web server working? Are you browsing via localhost?
Ted Sumner August 12, 2015 3:07am
Without code there is no real way to answer this. Have you tried a simple php file with only an echo and tried to preview it? If so, did it work? If not, then there is a problem with your setup. If that worked and your more detailed code does not, it is a coding problem that we can try to help with if you post the code.
Simple page works fine. I also tried downloading the treehouse files and running it. The 404 Not found with the The page you are looking for could not be found. Check the address bar to ensure your URL is spelled correctly. If all else fails, you can visit our home page at the link below.
Visit the Home Page
then when i add the /hello/name in the address bar i get 404 Not found that’s why i was thinking it was setting or something in phpstorm.
D:xamppphpphp.exe D:PhpstormProjectsweb_simpleindex.php Fatal error: Uncaught exception 'ErrorException' with message 'Undefined index: REQUEST_METHOD' in D:PhpstormProjectsweb_simplevendorslimslimSlimEnvironment.php:124 Stack trace: #0 D:PhpstormProjectsweb_simplevendorslimslimSlimEnvironment.php(124): SlimSlim::handleErrors(8, 'Undefined index...', 'D:\PhpstormProj...', 124, Array) #1 D:PhpstormProjectsweb_simplevendorslimslimSlimEnvironment.php(76): SlimEnvironment->__construct() #2 D:PhpstormProjectsweb_simplevendorslimslimSlimSlim.php(159): SlimEnvironment::getInstance() #3 D:PhpstormProjectsweb_simplevendorslimslimSlimHelperSet.php(228): SlimSlim->Slim{closure}(Object(SlimHelperSet)) #4 D:PhpstormProjectsweb_simplevendorslimslimSlimHelperSet.php(88): SlimHelperSet->SlimHelper{closure}(Object(SlimHelperSet)) #5 D:PhpstormProjectsweb_simplevendorslimslimSlimHelperSet.php(185): SlimHelperSet->get('environment') #6 D:PhpstormProjectsweb_simplevendorslimslimSlimSlim.php(191): SlimHelperSet->offsetGet in D:PhpstormProjectsweb_simplevendorslimslimSlimEnvironment.php on line 124 Process finished with exit code 255
Edited to format error code.
Works fine if you don’t run it from PHPstorm thank you for your help.