發表文章

目前顯示的是 11月, 2018的文章

php composer 的安裝方式更新

印象中 composer 很好裝的,怎麼官網的說明變得多了,卻也感覺讓一個簡單的安裝變得複雜,做為開源工具的使用者,又要開始游牧了,這種生態好像就像是開源工具使用者的 DNA ,自然就難以擺脫游魂一般的命運了 如果直覺的依據官網提供的裝法其實很簡單:把這裏的4行複製貼上到終端機的命令列中: https://getcomposer.org/download/ $cd --------- $php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" $php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" $php composer-setup.php $php -r "unlink('composer-setup.php');" --------- 又參考這個:https://www.digitalocean.com/community/tutorials/how-to-install-and-use-composer-on-ubuntu-18-04 一步一步跟著作也可以裝好 But, 人就是懶又貪,還看到官網寫著,可以用程式來安裝,在這裏: https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md  得再多試幾次,我真是愛自找麻煩的傢伙 工作環境: Windows 10

composer 安裝 laravel error Permission denied

為了要安裝 laravel,因為對於 vagrant 、 docker 這些工具都不熟悉,只能手動建置平台,也就因此遇到一些前人已經處理完的問題,這次是權限問題 $composer global require laravel/installer   [ErrorException]   file_put_contents(./composer.json): failed to open stream: Permission denie   d 因為權限的問題,所以在本機用非 root 帳號使用 composer 時,出現了以上的錯誤訊息,但是 composer 也不建議用 root 帳號安裝,那麼得來處理一下這個權限問題。 $sudo chown -R $USER.$USER ~/.composer/ 再裝一次 laravel $composer global require laravel/installer 應該就可以了

laravel 的 apache2 伺服器和 VM 相關設定

除了要把 laravel 的網頁伺服器帶起來以外,還想在連線的時侯不要用記不起來的 ip 而用網址名稱來連線,所以調整 apache 的設定,以及網址的對應。 工作環境:   Windows 10 + virtualbox   guest: Ubuntu 18 server   Windows IP: 192.168.ooo.xxx laravel 安裝在   /home/your_name/your_laravel_path/public 網址與 IP 的對應檔案   C:\Windows\System32\drivers\etc\hosts 其中 apache 使用以名稱對應的虛擬網頁,ServerName 要和網址對應檔的名稱對應   ServerName      laravel.test    <====>    127.0.0.1    laravel.test 加上 virtualbox 的埠號對應(8080)   Windows 10 host 瀏覽器 > laravel.test:8080 > VM > 127.0.0.1:8080  laravel.test.conf NameVirtualHost *:8080 Listen  8080 <VirtualHost *:8080>     ServerName      laravel.test     ServerAlias     www.laravel.test     # The location of our projects public directory.     DocumentRoot    /home/your_name/your_laravel_path/public     # Useful logs for debug.     LogLevel        debug     CustomLog       ${APACHE_LOG_DIR}/access.laravel.test.log   combined     ErrorLog        ${APACHE_LOG_DIR}/error.laravel.test.log     # Rewrites

laravel 剛剛裝好無法進入

時至今日,真的很能體會關先生當初過五關、斬六將的辛苦,為了要把 laravel 裝起來,已經不知道過了幾關,斬的手都骨折了。好不容易,到了可以連到 laravel 的時侯了,帶著期待的心情,開啟瀏覽器,連到 laravel.test:8080,登!登!登!登! MMMMMMMMMmmmm......... 不是那個白底的 Laravel 的 welcome page 是那個俗稱亂碼的&^%$^&*(*&^%%&* 工作環境:   Windows 10 + virtualbox   guest: Ubuntu 18 server 好在左上方的訊息很清楚,長得像這樣子的 The stream or file "/path_to_laravel/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied ... 又是權限問題,那就簡單一些,谷溝大神說已經有人遇過了:   sudo chown -R $USER:www-data storage   chmod -R 775 storage 再連一次 laravel.test:8080 總算是還給我白皙首頁 開心 收工!

composer 安裝 laravel error ext-zip

試著不用 homestead, docker 這些工具,自行安裝 laravel, 之前已經安裝完成了 composer 接著就是要安裝 laravel 了,根據官網的說明,只要滿足一些套件就可以了,     PHP >= 7.1.3     OpenSSL PHP Extension     PDO PHP Extension     Mbstring PHP Extension     Tokenizer PHP Extension     XML PHP Extension     Ctype PHP Extension     JSON PHP Extension 工作環境:   Windows 10 + virtualbox   guest: ubuntu 18 server $composer global require laravel/installer error:   ext-zip * -> the requested PHP extension zip is missing from your system ... 應該是要安裝 php-zip 或是 phpVersion-zip ,但是,找不到 @@" 這時侯,請更新 /etc/apt/source.list (請記得先備份哦) $vim  /etc/apt/source.list 加上 universe 類別的套件  ---------- deb http://archive.ubuntu.com/ubuntu bionic main universe deb http://archive.ubuntu.com/ubuntu bionic-security main universe deb http://archive.ubuntu.com/ubuntu bionic-updates main universe  ---------- $sudo apt update $sudo apt install php-zip 再次 $composer global require laravel/installer 安裝成功了。 開心 收工!

設定 laravel 執行檔的路徑 以便日後使用

安裝完成 laravel 之後,laravel 的執行檔會在家目錄下的 .composer/vender/bin/ 的資料夾裏,所以,預設要執行 laravel 時,就要 .composer/vender/bin/laravel 才能執行,當然不能搞到這麼麻煩,所以,再來調整一下。 工作環境:   Windows 10 + virtualbox   guest: ubuntu 18 server   composer global   laravel global $vim .bashrc 在檔案最後方加上一行,真正的路徑請依你的實際狀況調整 export PATH="$PATH:$HOME/.composer/vendor/bin" $source .bashrc 此時 $laravel 會輸出 Laravel Installer 2.0.1 Usage:   command [options] [arguments] Options:   -h, --help            Display this help message   -q, --quiet           Do not output any message   -V, --version         Display this application version       --ansi            Force ANSI output       --no-ansi         Disable ANSI output   -n, --no-interaction  Do not ask any interactive question   -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug Available commands:   help  Displays help for a command   list  Lists commands   new   Create a new Lara

Ubuntu 18 MySQL root 帳密設定

在 Ubuntu 18 server 安裝了 phpmyadmin 結果 root 帳密無法登入,會出現類似 root 帳號不能空白。 工作環境:   Windows 10 + virtualbox   guest: Ubuntu 18 server 用 root 登入 mysql: $ sudo su - $ mysql -uroot 確認你的使用者在資料庫中 mysql> SELECT User,Host FROM mysql.user; +------------------+-----------+ | User                  | Host      | +------------------+-----------+ | admin               | localhost | | root                  | localhost | 設定你的密碼 mysql> UPDATE user SET authentication_string=PASSWORD("YOUR_PASSWORD") WHERE User='root'; 改認證方式 mysql> UPDATE user SET plugin="mysql_native_password" WHERE User='root'; 最用權限 mysql> FLUSH PRIVILEGES; =================== 如果已經被改到進不去資料庫的解法 $ sudo service mysql stop $ sudo mkdir -p /var/run/mysqld $ sudo chown mysql:mysql /var/run/mysqld $ sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking & $ [1] #### $ jobs [1]+  Running     sudo / 用上面的程序改完之後: $ sudo pkill mysqld =================== 以下可

Mikrotik routerOS 的通透模式 transparent mode

人不是機器,一定得休息,網路設備,鐵打的,日以繼夜,吃電不喝水,難道真打不死?不是不是!撐得久點就是,時間到了,人該花的錢、人該做的工,跑不掉。 話說這次等著用電郵信箱,還等了很久的是 老 闆 本 人 ( 驚! ),這麼巧,偏偏機器老死在手邊一堆工作在趕的時侯,一開始還以為是伺服器的空間滿了,任務結束之後立馬去看了機器,不是空間滿了耶!!!奈啊捏!!暗暗叫( 罵 了 好 幾 聲 髒 話 )苦!那就不是一時半刻可以解決的了,查了查,辛勤工作10年以上的防火牆腦子燒了(CPU使用率100%),雖然看起來還能幫你指路,但是指的不好,還會放空(登入沒作幾個動作就給你一片空白的操作頁面),囧,「科技,始終沒有人性」,總在你最需要它的時侯拋棄你。一下子搞不定,先找高手,廠商的工程師人很好,登進去看了下,原來已經是前2代的機器,早就停產(順便表揚了一下勞苦功高的機器),閻王沒放手的,妙手果然還是留不住,還好手上有台新機,平時除了 NAT 用不到進階的功能,雖然有處置的方向,這新朋友和我也不是很熟啊~~(其實網路的東東和我都不熟啊~~嗚嗚嗚、哈哈哈),想讓新機上線還得先做些實驗,想就苦手,反正死馬當活馬醫,救得回來可以少花很多錢,這攤生意穩賺不賠,試試唄,萬分感謝老闆的耐性。 工作環境:   Mikrotik 路由器(routerOS)   應用伺服器 變動最少、最好的設定方式是以不變應萬變,設一台一般般、一模模一樣樣的防火牆來代替原本已經 RIP 的機器就是我的方針,依舊採用通透模式讓伺服器繼續服務。 拜了好一下股溝大神,還真難找到相符的文件,很難就表示得花很多時間找,再加很多時間拜讀不能達成目標的資料,總算找著好心人放了文件在網站上,圖說都有,超感動。 routerOS 上通透模式就是橋接( bridge ),再加上封包過濾( filter )。 特別的是橋接的時候不能用預設的 NAT 橋接設定,所以用了最後2個介面(eth4, eth5),我搞不懂,但是我懂得抄別人成功的。 在防火牆上把要提供的服務開放,透過封包過濾把服務的埠開通。 先在自已的桌上設好,試過,可以通,調成機器所在的環境設定,放到機櫃裏, Mmmmmmm……………………,連不上。最遠的距離莫過於機器就在面前卻怎麼也連不上。 讓設定生效: 只記得之前來裝機的工程師說,要讓