PHP

Laravel npm install dev 出現 cross-env 錯誤解法

在使用 Laravel 裡面的 Vue Components 時,會需要使用到編譯 vue js 的功能

例如,修改 ExampleComponent.vue 之後,要執行以下語法才會將修改編譯到 app.js

npm run dev

Laravel 在 mac 或 linux 環境下,可能會出現 cross-env 相關錯誤訊息

Continue Reading

Swoole 與傳統 PHP-FPM 差異

在swoole 官方介紹到運作原理時,就有針對 swoole 運作方式與 PHP-FPM 的差異進行比較 傳統 PHP-FPM 是基於 PHP Server 來解析 而 Swoole 則是用 C 所編譯的 PHP 擴充,可以直接透過 CLI mode 與 server 溝通 這一點差異就讓 swoole 能做到傳統 php model 無法達成的事情

Continue Reading

閒聊 FastCGI 與 PHP-FPM

閒聊 FastCGI 與 PHP-FPM

在這裡記錄一下 FastCGI 與 PHP-FPM 的關係

關於 FastCGI

FastCGI 是一個協定,從字面上其實就能看到 Fast + CGI,意思就是加速CGI

CGI 是一個協定,在webserver接收到請求時,會跟請求內容進行對應處理,再返回對應文件給瀏覽器

Continue Reading

Laravel-S 查看 worker 進程(筆記)

在開發 laravels 需要確認目前 worker 執行狀況 查看 laravels worker 進程的方式如下: ps -ef|grep laravels

Continue Reading

wrk - 輕巧 http benchmark 工具,處理簡易的HTTP 性能測試

wrk 是用C語言寫的一套http benchmark 工具

可以幫助我們處理簡易的HTTP 性能測試

Continue Reading

Laravel - Requests 說明及測試方法

Laravel - Requests 說明及測試方法

Laravel 的 requests 可以將請求所需要的驗證進行分離,在這裡主要談一談 Requests 的建立方法 ,以及針對它進行測試的一些方式進行說明。

首先,建立一個 Requests

Continue Reading

Laravel - Eloquent model (二)

前面介紹過了如何建立 Model

這裡繼續用範例說明如何使用 Model 來進行數據操作

首先先建立一個 MemberController

Continue Reading

Laravel - Eloquent model (一)

Laravel 的 Eloquent model 提供查詢資料表以及新增資料到資料表的功能

這部分主要說明定義 Models 及 Migration

Continue Reading

Laravel - Migrate+Seeds 自動部署資料表及資料

這裡記錄如何運用 migrate 及 Seeds 來建立自動部署流程

Continue Reading

Laravel - Visual Studio Code 擴充套件及功能推薦

這裡列出幾個推薦使用的Visual Studio Code 利於 Laravel 開發的套件

Continue Reading

PHP - Passing by Reference

PHP 提供了一個將變數參照到函式中的功能

只要在定義 function 時,將要參照的變數前面加上 & 就可以宣告為參照

例如:這裡範例定義了函式以及參數設定為參照 - myfun(&$x)

Continue Reading

Laravel - How to Custom a Artisan Console

There show how to custom a php artisan command

first create your custom command

This will auto generate a file in app/Console/Command/Tests/TestOutput.php

and setting a relative command for calling this file in terminal command

Continue Reading

Laravel - Laradock 安裝

Laradock 在 Laravel 社群相當知名,它提供了完整套件 Docker-Images及相關設定

讓我們能很簡單的就部署好完整的 Laravel 開發環境

當然也可以支援其他PHP專案,像是 Symfony, CodeIgniter, WordPress 等

這裡介紹如何快速的透過 Laradock 安裝 NGINX, PHP, Composer, MySQL, Redis 及 Beanstalkd

Continue Reading

Laravel - Homestead

Laravel Homestead 介紹

Laravel 為了讓PHP開發整體體驗都能完善,在local開發的環境設定也提供了相關解決方案

也就是這裡要介紹的 Homestead

Laravel Homestead 是官方所維護的 Vagrant box pre-package

讓你可以直接透過這個環境開發,而不必再獨立安裝PHP、Web server…等軟體

並且不必擔心忘記系統設定,因為 Vagrant boxes 是一次性設定安裝完畢,

如果在安裝流程有發現錯誤,隨時都可以重新安裝環境,並且只需要幾分鐘的時間就能完成

Continue Reading

MAC 如何升級PHP版本

通常,MACOS Sierra都會預設安裝PHP5.6版本 這裡針對升級到更高階PHP版本流程進行說明: 可以透過brew 或者 curl 兩種方式來安裝 Brew brew update && brew upgrade brew tap homebrew/dupes brew tap homebrew/versions brew tap homebrew/homebrew-php brew unlink php56 brew install php72 (如果要從7.1升級到7.2,作法如下:) brew tap homebrew/homebrew-php brew unlink php71 brew install php72 brew install php72-xdebug 在這過程中,如果php5.

Continue Reading

PHP, Larave, Nginx 設置Header允許請求 CORS 的幾種方式

跨域資源共享 CORS (Cross-origin resource sharing) 是一個 W3C 標準

這裡主要針對 php (Laravel) 以及 nginx 如何設置 CORS 進行說明

以及 Laravel 5.5 之後的版本自定義 cros Middleware 踩過的坑進行紀錄

首先,先看一般原生PHP設定 cors 的方式

Continue Reading

PHP 判斷來源裝置的方法

通常會使用 user agent 來判斷來源裝置

在 PHP 可以使用下方式來取得 user agent

<?php
$user_agent = $_SERVER['HTTP_USER_AGENT'];

Continue Reading

Laravel 程式緩存優化技巧

設定訊息緩存

會將config內容合併保存在 /bootstrap/cache/config.php 重新設定.env 時,直接輸入這個指令就能更新設定內容

php artisan config:cache

可以用以下命令清除訊息緩存配置

php artisan config:clear

Continue Reading

Laravel - PHP 無法取得 Hppt Request $_GET Params 值的解決方式

這裡記錄一下,在 Nginx + PHP 環境無法取得 Http Get Request 的問題

在本機端,使用的是 apache 環境,會需要取得網址上的Get參數

<?php

    public function index(Request $request) {
    	$message = $request->message;
      ...
    }

上傳至 Server Side (Nginx 環境) 卻發現無法取得參數

嘗試取得完整網址與$_GET是否能取得值

這時先測看看完整網址以及檢查$_GET

<?php

    public function index(Request $request) {
				echo $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        print_r($_GET);

確定在 localhost 確實能完整捕捉到 Localhost 結果如:

http://localhost:8000?message=hello
Array
(
[message] => hello
)

但是在 server 上面有捕捉到完整網址,但同樣輸出的是空的 $_GET Server 輸出結果如:

http://example.com?message=hello
Array
(
)

檢查Server side 設定

正式 Server 使用的是 Nginx

前往Server 設定中,檢查一下 nginx.conf ,發現原因是

Continue Reading

PHP_CodeSniffer 簡介,及 VS Code 擴充使用

PHP COdeSniffer 包含了兩個 PHP script

  • phpcs(PHP Code Sniffer),可以檢查程式碼風格
  • phpcbf (PHP COde Beautifier and Fixer),自動修正程式碼風格

在 VS Code 會使用下面這個擴充

  • php-cs-fixer ,自動修正程式碼風格

Continue Reading