публичные файлы symfony 4 недоступны

Я получил эту ошибку много раз раньше. И я уверен, что все программисты PHP по крайней мере однажды получили эту ошибку. Чтобы решить эту ошибку, вы можете решить использовать решение по вашему уровню проблемы:

Возможное решение 1:

Возможно, вы оставили пробелы до или после (в конце файла после?>) ie

THERE SHOULD BE NO BLANK SPACES HERE

DO CHECK FOR BLANK SPACES HERE AS WELL; THIS LINE (blank line) SHOULD NOT EXIST.

В большинстве случаев это должно решить вашу проблему. Проверьте все файлы, связанные с файлом require.

Примечание: Иногда EDITOR (IDE), например gedit (редактор linux по умолчанию), добавляет одну пустую строку в файл save save. Этого не должно быть. Если вы используете linux. вы можете использовать редактор VI для удаления пробела / строк после?> в конце страницы.

Если это не ваш случай, тогда вы можете использовать ob_start для буферизации вывода, как показано ниже:

Возможное решение 2:

 

1
задан atrain 16 January 2019 в 22:03
поделиться

1 ответ

Я нашел кого-то, кто настраивал среду iis для Symfony 2 на github. После учета структуры каталогов я добавил эти правила в свой файл web.config, и теперь он работает как положено. Надеюсь, это поможет кому-то еще по тем или иным причинам использовать Symfony на iis :).

<rules>
                <rule name="TempRewriteToWeb" stopProcessing="false">                                  
                    <match url="^(public/)?(.*)$" />
                    <action type="Rewrite" url="public/{R:2}" logRewrittenUrl="true" />
                </rule>      
                <rule name="StaticFiles" stopProcessing="true">                                  
                    <match url="^(.*)$" />
                     <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile"/>                        
                    </conditions>
                    <action type="Rewrite" url="{R:0}" logRewrittenUrl="true" />
                </rule>                         
               <rule name="RewriteRequestsToPublic" stopProcessing="true">
                    <match url="^(public/)(.*)$" />
                    <action type="Rewrite" url="public/index.php?{R:2}" logRewrittenUrl="true"/>
                </rule>           
            </rules>
0
ответ дан atrain 16 January 2019 в 22:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: