顯示具有 openshift 標籤的文章。 顯示所有文章
顯示具有 openshift 標籤的文章。 顯示所有文章

2014年11月27日 星期四

PHP fgetcsv, str_getcsv 中文問題

在 OpenShift 上使用 str_getcsv 時中文會有問題,檔案爲 UTF-8 編碼,locale 爲 zh_TW.UTF-8

PHP 4 使用 fgetcsv
PHP 5 使用 str_getcsv

確定可用代碼 :
 function __fgetcsv(& $handle, $length = null, $d = ‘,’, $e = ‘”‘) {
     $d = preg_quote($d);
     $e = preg_quote($e);
     $_line = “”;
     $eof=false;
     while ($eof != true) {
         $_line .= (empty ($length) ? fgets($handle) : fgets($handle, $length));
         $itemcnt = preg_match_all(’/’ . $e . ‘/’, $_line, $dummy);
         if ($itemcnt % 2 == 0)
             $eof = true;
     }
     $_csv_line = preg_replace(’/(?: |[ ])?$/’, $d, trim($_line));
     $_csv_pattern = ‘/(’ . $e . ‘[^' . $e . ']*(?:’ . $e . $e . ‘[^' . $e . ']*)*’ . $e . ‘|[^' . $d . ']*)’ . $d . ‘/’;
     preg_match_all($_csv_pattern, $_csv_line, $_csv_matches);
     $_csv_data = $_csv_matches[1];
     for ($_csv_i = 0; $_csv_i < count($_csv_data); $_csv_i++) {
         $_csv_data[$_csv_i] = preg_replace(’/^’ . $e . ‘(.*)’ . $e . ‘$/s’, ‘$1′, $_csv_data[$_csv_i]);
         $_csv_data[$_csv_i] = str_replace($e . $e, $e, $_csv_data[$_csv_i]);
     }
     return empty ($_line) ? false : $_csv_data;
 }




References :
linux下,fgetcsv乱码问题 - Alian的专栏 - 博客频道 - CSDN.NET
萬隆小站 • 檢視主題 - [php]fgetcsv 讀入檔案無「「」時,第一字元被刪掉亂碼
[php]UTF-8的fgetcsv函數 @ 清新下午茶 :: 痞客邦 PIXNET ::

2014年8月19日 星期二

OpenShift user home folder

OpenShift 的 ~/ 是不允許寫入的,使用者個人的設檔當等資料可以放在 $OPENSHIFT_DATA_DIR
$ cd $OPENSHIFT_DATA_DIR





References :
Permission denied | OpenShift by Red Hat

2014年8月18日 星期一

在本機連線到 OpenShift 上的 MySQL

// 啓用 port forward (會將 openshift 上的 port 對應到本地)
$rhc port-forward -a applicationName

// 使用 show app 可以看到資料庫連線的帳號密碼
$ rhc show-app --app applicationName

// 使用 TCP 連線到資料庫
$ mysql -u USERNAME -p -h 127.0.0.1 




References :
Getting Started with Port Forwarding on OpenShift | Openshift Blog

OpenShift SQLAlchemy Database URI

PostgreSQL :
import os
SQLALCHEMY_DATABASE_URI = os.environ['OPENSHIFT_POSTGRESQL_DB_URL']

MySQL :
import os
SQLALCHEMY_DATABASE_URI = os.environ['OPENSHIFT_MYSQL_DB_URL']




References :
flask程序部署在openshift上的一些注意事项 - ranvane的个人空间 - 开源中国社区

OpenShift 檢視 web log

500 Internal Server Error

Local :
$ rhc show-app --app YOUR_APP_NAME | grep SSH
$ ssh SSH_URL

Server :
$ cd app-root/logs/
$ cat python.log