我使用Symfony 3創建了一個Web應用程序。在開發環境中,我始終使用Symfony的內置服務器,並使用命令「php bin/console server:run 」。該應用程序可以通過「localhost:8000」訪問。將Symfony3應用從開發移植到生產服務器時的問題
我也使用控制器中的註釋來定義路由,如「/」,「/ about」等。這些頁面可以通過「localhost:8000 /」和「localhost:8000/about」進行訪問。頁面上指向「/ contact」或「/ users/1」等路由的其他鏈接也可以很好地工作。他們將鏈接到「localhost:8000/contact」和「localhost:8000/users/1」。
現在,我將我的應用程序移動到生產服務器。在生產服務器上安裝了Apache2,並且其他人已經開發了Symfony應用程序。他們的應用程序可以通過像「example.com/apps/app1/web/app_dev.php」這樣的URL訪問,其應用程序中的鏈接已經預先附加了「example.com/apps/app1/web/app_dev.php」自動。因此,當用戶點擊鏈接到「/ contact」的按鈕時,該鏈接將指向「example.com/apps/app1/web/app_dev.php/contact」。
現在,當我在「example.com/apps/」目錄下移動名爲「app2」的應用程序時,無需任何配置即可訪問「example.com/apps/app2/web/app_dev.php」,並查看我的主頁完美。 Apache可以自動提取我的代碼。但是,首頁上的所有鏈接都將指向「example.com/contact」,而不是「example.com/apps/app2/web/app_dev.php/contact」。
任何人都可以幫助我嗎?我對Symfony和Apache很感興趣。
或者我可能以完全錯誤的方式完成了從開發到生產環境的遷移?任何將Symfony3應用程序移至生產服務器的新想法或正確方法?
非常感謝!
我已經閱讀過此頁面。我也看到了「最低配置」部分。但是,在我們的生產服務器上,我們不使用虛擬主機。其他人的應用程序只是神奇的工作。我也不允許更改Apache配置文件。我想我的代碼一定有問題嗎? – user1050165
聽起來像您需要與您的DevOps人員交談。服務器安裝沒有什麼神奇的。這是很多非常具體的配置。如果有某種開放式邏輯,它可能被用於惡意目的,應該改變。 – Iwnnay
無論是哪種情況,最初聽起來都不像你的代碼有任何問題。而缺少的難題不在你的問題中。 – Iwnnay