在下一篇文章中,我們將研究Laravel及其在Ubuntu上的安裝。 這是關於 開源PHP框架 很受歡迎。 旨在促進應用程序開發。 如果您正在尋找一個新的PHP框架用於 開發你的項目,您必須嘗試Laravel。
Laravel是一個Web應用程序框架,具有表達力和優雅的語法,這將使開發獲得愉悅和創意的體驗。 Laravel試圖促進常見任務的發展 在大多數Web項目中使用,例如身份驗證,路由,會話和緩存。
該框架旨在使開發人員對開發過程感到滿意,而不會犧牲應用程序的功能。 Laravel是可訪問的 提供大型且強大的應用程序所需的強大工具。 它將為我們提供控制容器,富有表現力的遷移系統以及緊密集成的單元測試支持,這將為我們提供構建其受託應用程序所需的任何工具。
在開始之前,始終最好確保計算機上現有的字體和軟件是最新的。 在終端(Ctrl + Alt + T)中,我們將編寫:
sudo apt-get update && sudo apt-get upgrade
我不得不說,在這裡我要寫的是,我已經在Ubuntu 16.04、17.10和18.04中安裝了該框架。 在開始安裝Laravel之前, 我們將需要安裝其他必不可少的組件.
安裝PHP 7.1
下一步是 安裝PHP以及各種其他軟件包 如果您要使用Laravel,這些功能將非常有用。 在終端(Ctrl + Alt + T)中,我們將編寫:
sudo add-apt-repository ppa:ondrej/php sudo apt-get update && sudo apt-get install php7.1 php7.1-mcrypt php7.1-xml php7.1-gd php7.1-opcache php7.1-mbstring
雖然 Ubuntu存儲庫本身俱有可用的PHP,我發現在此處添加第三方存儲庫是一個更好的主意,因為它更新的頻率更高。 如果您願意,可以跳過這一步並使用Ubuntu版本。
安裝Apache
是時候了 安裝Apache服務器。 我們還需要安裝libapache2-mod-php7.1軟件包以將Apache與PHP連接。
sudo apt-get install apache2 libapache2-mod-php7.1
安裝Laravel
在研究安裝之前,必須先安裝 Git版本.
要安裝Laravel, 首先我們必須安裝Composer。 這是一個用於管理PHP中依賴關係的工具,該工具將允許您打包所有關聯的所需庫。 要安裝Laravel及其所有依賴項,需要Composer。 要安裝此工具,在終端(Ctrl + Alt + T)中,我們將必須編寫以下命令(Ctrl + Alt + T):
cd /tmp curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer
curl命令下載軟件包 作曲家 到我們的目錄 / tmp目錄。 但是,由於我們對讓Composer在全球範圍內運行更加感興趣,因此必須將其移至目錄 在/ usr / local / bin目錄。 現在完成所有這些 我們可以在操作系統的任何地方運行作曲家.
要安裝Laravel,我們將轉到您系統上的public html目錄。 正如我們在Ubuntu上並使用Apache一樣,我們將其安裝在目錄中 在/ var / www / html等.
cd /var/www/html sudo composer create-project laravel/laravel tu-proyecto - -prefer-dist
上面的命令將在Laravel安裝中創建目錄«your-project»。 Composer使用git下載並安裝Laravel所需的所有軟件包和模塊 上班。
配置Apache
現在我們已經安裝了Laravel,我們繼續 配置Apache Web服務器.
下一步是 向項目目錄授予適當的權限。 為此,我們需要啟用對www-data組的訪問並授予對存儲目錄的寫權限。 在終端(Ctrl + Alt + T)中,我們將編寫:
sudo chgrp -R www-data /var/www/html/tu-proyecto sudo chmod -R 775 /var/www/html/tu-proyecto/storage
現在,我們將轉到/ etc / apache2 / sites-available目錄,並使用以下命令執行以下操作: 創建一個配置文件 對於我們的Laravel安裝:
cd /etc/apache2/sites-available sudo nano laravel.conf
當nano打開時,我們會將以下內容添加到文件中。 將有 替換yourdomain.tld 文件中包含您網站的域名。 也將有 重命名項目 是我們先前創建的。 如果在本地使用它,請編寫localhost.tld。
<VirtualHost *:80> ServerName tudominio.tld ServerAdmin webmaster@localhost DocumentRoot /var/www/html/tu-proyecto/public <Directory /var/www/html/tu-proyecto> AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
現在,我們必須啟用此新創建的.conf文件。 我們還必須 禁用默認的.conf文件 與Apache安裝一起安裝的。 另外,我們必須 啟用mod_rewrite 這樣永久鏈接才能正常工作。
sudo a2dissite 000-default.conf && sudo a2ensite laravel.conf && sudo a2enmod rewrite
最後,我們使用以下命令重新啟動apache:
sudo service apache2 restart
這樣,您的Laravel安裝就完成了。 造訪 服務器的IP地址或域名 使用網絡瀏覽器(在我的情況下為http://本地主機)。 如果一切順利,您將看到默認的Laravel頁面,從中可以訪問 文件 該框架和其他選擇。
很好,到這里為止;
CD / tmp目錄
捲曲-sS https://getcomposer.org/installer | 的PHP
sudo mv composer.phar / usr /本地/ bin / composer
不再提供服務的地方
為什麼從那裡不再起作用? 它顯示什麼錯誤?
到目前為止一切都很好
sudo作曲家創建項目laravel / laravel your-project--prefer-dist
其中出現以下錯誤:
不要以超級用戶/超級用戶身份運行Composer! 看 https://getcomposer.org/root 了解詳細信息
[Symfony \組件\控制台\異常\ RuntimeException]
“ -p”選項不存在。
在沒有sudo的情況下運行它。
問題是命令中有一個小故障。 您必須加入2«-»,因為如果您不把它當作«-p»。 希望該評論有效,這就是我如何使其生效的方式。
我有個問題,Laravel打開了所有東西,但我想創建另一個項目,我要做的就是做所有事情,包括使用作曲家創建項目並將其命名為LARAVEL_2(我創建的第一個項目是LARAVEL),該項目與創建的第一個項目相同的路徑/ var / www / html中,一切正常,直到我認為這是給我帶來問題的部分為止,該部分位於虛擬主機的配置文件中
對於第一個項目,我有這樣的內容:
服務器名稱 localhost.tld
ServerAdmin網站管理員@本地主機
DocumentRoot / var / www / html / LARAVEL /公共
全部設置AllowOverride
錯誤日誌$ {APACHE_LOG_DIR} /error.log
CustomLog $ {APACHE_LOG_DIR} /access.log組合在一起
一切都進行得很順利,但是當我為第二個項目做的時候,我是這樣的:
服務器名稱 homestead.test
的ServerAdmin mymail@hotmail.com
DocumentRoot / var / www / html / LARAVEL_2 / public
全部設置AllowOverride
錯誤日誌$ {APACHE_LOG_DIR} /error.log
CustomLog $ {APACHE_LOG_DIR} /access.log組合在一起
我運行以下命令,直到完全完成重新啟動apache為止沒有任何問題,問題是現在我無法通過將localhost放在筆記本電腦上來進入第一個項目,更不用說homestead.test了,根據該名稱,它就像我一樣我可以訪問我的項目,那麼我該如何解決呢?
這篇文章非常有幫助,我只是想做其他事情,所以有點不對勁。
編輯/ etc / hosts文件,並在新行中添加:
127.0.0.1 homestead.test
重新啟動apache並在瀏覽器中輸入:
http://homestead.test
你好,我想知道它是否可以在ubuntu 20.04lts中工作,然後安裝,它要求我缺少某些依賴項,例如:您的要求無法解決為一組可安裝的軟件包。
laravel / framework v7.9.2需要ext-mbstring *->系統中缺少所請求的PHP擴展名mbstring。
請幫忙
儘管本教程似乎已經有好幾年了,但它在 2022 年年中在 Ubuntu Jammy Jellyfish 上對我有用。
非常好的工作達米安🙂