git .gitignore file ignore .htaccess

就我目前所知,.gitignore 檔案無法忽略 .htaccess 檔,這有點困擾,因為正式環境的.htaccess配置與本地端開發環境的配置通常會有些差異,如果不能忽略這檔案,每次更新我都要改一次
.htaccess 配置,實在很困擾,目前能達到的方法要透過下指令方式取消追蹤( 我也很不會用指令的方式 ),我習慣用 SourceTree 來操作,所以這邊也教一下 SourceTree 的操作步驟。

開啟 SourceTree 命令模式

開啟指定專案,面板的右上角有個命令模式

取消追蹤 .htaccess 檔案命令

重新追蹤 .htaccess 檔案

Reference:

https://stackoverflow.com/a/22784639/6784662

[……]

Read more

Fix Google reCaptcha invalid-json error

使用 Google reCaptcha 驗證碼進行後端驗證,拋出 invalid-json 錯誤,分享解決這問題的方法:

解決方法:

開啟檢查 PHP.ini 設定,搜尋「allow_url_fopen」,若值不是 On 請改成 On 開啟它,如下:

allow_url_fopen = On

接著搜尋「extension=php_openssl.dll」,確認是否開啟,前方有分號「;」代表沒開啟

;extension=php_openssl.dll

將前方的分號「;」移除,如下:

extension=php_openssl.dll

重新啟動 SERVER

 [……]

Read more

Warning: file_get_contents(): Unable to find the wrapper “https” …

解決錯誤訊息:

Warning: file_get_contents(): Unable to find the wrapper “https” – did you forget to enable it when you configured PHP?

解決方法:

需要開啟 php php_openssl 的這個 extension
開啟 php.ini,搜尋:「extension=php_openssl.dll」

;extension=php_openssl.dll

將前方的分號「;」移除

extension=php_openssl.dll

重新啟動 SERVER[……]

Read more

PHP php.ini 在哪裡?

開發PHP時,難免要修改PHP.ini,問題來了,PHP.ini在哪裡,我們可以透過一個簡單的方式找到 PHP.ini 的檔案路徑

建立一個PHP檔案,裡面就寫一行 phpinfo(),運行這個檔案,它會列出所有PHP相關資訊

<?php
phpinfo();

PHP.ini 就在下方紅框處,這是Windows上的PHP,Linux上的PHP一樣可以這麼用[……]

Read more

Fix Curl Error: SSL certificate problem: unable to get local issuer certificate

最近正在安裝 WHMCS localhost 開發環境,程式安裝成功,但許可證一直無法通過,在原廠協助下,來來回回終於找到錯誤原因,就是 Curl 有錯誤,錯誤訊息:

Curl Error: SSL certificate problem: unable to get local issuer certificate

Fix Curl Error: SSL certificate problem: unable to get local issuer certificate

Curl在 WHMCS 中是很重要的,很多API的介接都需要靠它,我已經成功修復錯誤,以下分享修正方法。

修正 unable to get local issuer certificate 錯誤

Step 1. 下載CA憑證

到這個網址下載憑證: Download the certificate bundle.

Download the certificate bundle.

點紅框處下載,檔名為 cacert.pem

Step 2. 複製檔案到PHP安裝目錄中

雖然可以放在任意位置,單純是因為好找,所以我把它放在PHP安裝目錄中:

C:\php-7\extras\ssl\cacert.pem

Step 3. 確認PHP.ini啟用 mod_ssl 模組

找[……]

Read more

解決 Fatal error: Call to undefined function exif_read_data()

上傳圖片遇到下面問題:

Fatal error: Call to undefined function exif_read_data()

支援版本

官方文件 PHP4 以上就支援此 exif_read_data()

如果已符合版本需求還是會出現此錯誤,可以試試看下面的解決方法。

解決方法:

  1. 找到你的 PHP.ini 文件
  2. 找到下面這一行
    ;extension=php_exif.dll
  3. 把前方的分號移除,如果找不到這行,可以直接複製下列文字,貼於 PHP.ini 裡
    extension=php_exif.dll
  4. 重新啟動Apache

[……]

Read more

Plesk Onyx on CentOS 7 AWS AMI 一鍵安裝

有什麼比一鍵安裝更快樂呢

千呼萬喚始出來,AWS有Plesk官方的AMI囉!千呼萬喚始出來,AWS有Plesk官方的AMI囉!

相信很多接觸過虛擬主機的人都應該用過Plesk,Plesk是一套主流的主機管理系統,雖然cpanal也是主流的主機管理系統,但我還是習慣使用Plesk,可能是介面比較漂亮吧,以貌取程式,之前要在AWS上安裝還要從OS一個一個裝,慢慢去調校,期待有沒有AMI的解決方案,Plesk官方發布了一篇新文章,裡面有提到已經可以透過AWS AMI一鍵安裝AWS環境及Plesk

作業系統版本

提供3種不同作業系統的映像檔

OS
AWS AMI

CentOS

Plesk Onyx on CentOS 7 (Webhost)

Ubuntu

Plesk Onyx on Ubuntu 16.04 (WebHost)

Windows

Plesk Onyx on Windows 2012 R2 (WebHost)

Plesk十天試用

AWS AMI Plesk十天試用

預先配置

講簡單一點就是都幫你配好好的拉,你只要點一下就好

預先安裝的 Plesk Extens[……]

Read more

Plesk 設定排程任務,定時瀏覽指定網頁

Plesk是一套很方便的主機系統管理程式,也是主流主機管理程式之一,很多主機商也都用Plesk來進行主機系統管理,本篇要介紹如何設定排程任務

什麼是排程任務?

有時我們在寫程式的時候會希望主機自動在某一個時間區間執行某些任務,例如:每日午夜12:00,進行購物車訂單出貨拋轉作業,當然也可以人工每天12點去瀏覽這支程式,只是非常愚蠢,偷懶是工程師的美德,於是我們需要一個像計時器的東西,時間到去做某些動作,達成自動化目的。

建立任務處理程式

我習慣會寫一支程式,專門執行某些特定任務,比如說:購物車訂單出貨拋轉作業,這支程式可透過瀏覽網頁的方式去驗證是否正常運行,確定一切都正常,接著我們需要一個觸發程式的瀏覽者,這我們就透過Plesk的排程任務達成。

設定Plesk

登入Plesk ,到指定網域的管理頁面,右上角有一個叫計畫的任務
PS. 如果您的Plesk管理面板中沒出現這個選單,那就是這功能管理者沒開放,就需聯絡你的主機商,如果他們不願意開這功能就換家主機商吧。
登入Plesk ,到指定網域的管理頁面,右上角有一個叫計畫的任務

添加一個任務

設定執行時間

  1. 我選擇獲取URL選項,讓Plesk排程任務,在指定時間瀏覽[……]

    Read more

MIS WAMP手動安裝及設定教學 Apache2.4 + PHP7 for windows10

手動安裝 Apache2.4 + PHP7 for windows10

首先,我該選x64或x86安裝呢?

何謂 x64 和 x86,可閱讀下方網址文章,本篇不多做解釋
x86和x64到底有什麼差異?

注意 !!!

若安裝x64版本,PHP & Apache 都需要選擇x64版本,反之亦然

安裝 PHP7 for windows

PHP For Windows 官網

http://windows.php.net/

PHP For Windows 歷史版本 (官網)

本例下載 PHP 7.0 VC14 x64 Thread Safe

解壓縮至 PHP 的存放目錄
本例解壓縮至 C:php-7.0.10-Win32-VC14-x[……]

Read more

[PHP] Fatal error: Uncaught Error: Call to undefined function ldap_connect apache2.4 php7 Windows

因為要用到 PHP  ldap_connect()
Fatal error: Uncaught Error: Call to undefined function ldap_connect()
設定方式網路上很多
主要是設定PHP.ini擴充套件,把前面的註解拿掉

extension=php_imap.dll

如果還不行
Copy PHP 目錄下的 libsasl.dll 到apache中的bin資料夾中

如果還不行
Copy PHP 目錄下的 libeay32.dll 及 ssleay32.dll 到 C:WindowsSystem32 中

基本上該設定的都設定了,但我還是不行,
這是一個怪問題,我用Nginx + PHP7
可以順利的call ldap_connect()
但用 apache2.4 就會跳 Fatal error
怪的是我用相同的PHP7,搞死人,
最後找到原因,以下解決我的問題
修改 PHP.ini

extension_dir = "ext"

改為

extension_dir = "C:/php-7.0.9-Win32-VC14-x64/ext"

也不[……]

Read more