發表文章

目前顯示的是 十月, 2015的文章

javascript 將json文字轉換成 json 物件

當我們在 javascript 裡面編輯

var json_val = '{["name":"James"],["name":"Wolf"]}';
雖然長得是 JSON 的樣子,不過他畢竟只是個文字字串,這樣是沒有辦法使用的。我們要將他轉換成真正的 JSON 格式才可以被拿來使用
var json_val = '{["name":"James"],["name":"Wolf"]}'; console.log(JSON.parse(json_val));
其實只需要加上 JSON.parse 這個動作就可以了。

apache 直接對指定的資料夾進行帳號密碼登入驗證

圖片
有些時候我們會遇到需要整個專案都只能給特定人士使用的,偏偏其實裡面並不需要用到資料庫,特別幫他們寫一個會員登入系統有點傻氣。這時候其實 Apache 有內建對整個資料夾進行登入驗證的方式

這個畫面是不是很熟悉,要達成這個功能需要先確定你的資料夾有開放使用 .htaccess 檔案設定。

接著我們要去打開 .htaccess 檔案,輸入以下設定內容

AuthName "Restricted files" Authtype Basic AuthUserFile "/var/www/html/pass" Require valid-user
上面的內容表示用 Basic 的方式進行驗證,帳密檔案放在 "/var/www/html/pass" 這個檔案裡,最後一行是說只要帳密檔案有登記的都可以登入

然後就是要去設定可以使用的帳號密碼檔案了,需要用 htpasswd 這個指令來建立。
如果是第一次使用請輸入

htpasswd -c 存放路徑 帳號 htpasswd -c /var/www/html/pass james
如果不是第一個帳號的話就不要輸入 -c 這個參數,會把之前的資料都清掉喔

解決 Message: mysqli::real_connect(): Headers and client library minor version mismatch

最近在升級 MariaDB 後會發生一個問題
Message: mysqli::real_connect(): Headers and client library minor version mismatch

雖然說把錯誤訊息關掉就可以當做沒發生(實際上在使用也沒發現問題)。
不過還是去找到問題的解決方式

其實在早期我們 php  和 mysql 連線是用 php-mysql 這個功能下去驅動連線,不過在 php5.3  後已經推薦使用  php-mysqlnd 驅動 一方面是因為版權授權的關係,一方面據說效能也會高出許多。

我沒有特別去測試這件事情不過我們就先把它換掉吧!至少可以處理掉上面的錯誤訊息
以 php 5.6 為例子。


yum remove php56w-mysql yum install php56w-mysqlnb

CentOS 6.5 安裝 MariaDB

在 MariaDB 的官網上面就有教學。
https://mariadb.com/kb/en/mariadb/yum/

大部分的情況來說,在  CentOS 7 已經內建用 MariaDB 不過我們如果是要用 CentOS 6.5 的話可以自己建立軟體庫一樣可以用 yum 安裝

步驟
移除 mysql -> 設定 yum 資源檔 -> yum 安裝

移除 mysql
yum -y remove mysql mysql-server

設定 yum 資源檔
vim /etc/yum.repos.d/MariaDB.repo
如果是 32位元系統
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.0/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
如果是 64位元系統
[mariadb] name = MariaDB-5.5.39 baseurl=https://downloads.mariadb.com/files/MariaDB/mariadb-5.5.39/yum/rhel6-amd64/ # alternative: baseurl=http://archive.mariadb.org/mariadb-5.5.39/yum/rhel6-amd64/ gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1


yum 安裝
sudo yum install MariaDB-server MariaDB-client

CentOS 6.5 安裝 php 5.6

資料來源:
https://webtatic.com/packages/php56/

升級的步驟:
移除本來的 php -> 安裝測試版本的 yum資料庫 -> 安裝php56

移除本來的 php

yum -y remove php php*
安裝測試版本的 yum資料庫
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
安裝php56
yum install php56w php56w-opcache

附帶一提,我們裝完 php 後通常還會加掛很多東西,我通常會把想到的東西一次掛上去 yum -y install php56w-xml php56w-xmlrpc php-56w-pdo php56w-mysql php56w-mcrypt php56w-mbstring