2019年8月27日 星期二

20190820~20190827 日本山陽旅記

 20190820~20190827 日本關西山陽旅記(廣島 岡山 倉敷 兵庫 京都)

前言:這一次是坐JR,所以買了兩張票卷:JR關西&廣島地區鐵路周遊券、JR關西廣域鐵路周遊券

景點:廣島、宮島、姬鹿、岡山、倉敷美觀、京都鐵博館、天橋立、伊根舟屋、京都貴船神社、平安神宮、晴明神社。



0820 高雄 → 廣島

這一次是坐樂桃,讓家人體驗一下沒有空橋的感覺。結果過了幾年問大家,只有我有印象...人類的記憶力是不可靠的 XD


關西機場的第二航廈是樂桃專屬的,要坐接駁電車通往第一航廈,再坐haruka (使用JR關西&廣島地區鐵路周遊券)。到新大阪再轉新幹線往廣島。在新大阪買了晚餐,便當有一個是新幹線923型的便當盒。後來帶回台灣當紀念品,不過放了幾年後最後還是丟了...


到了廣島站,晚上住:東橫INN 廣島站前大橋南,這個時候姊姊住單人房,我們夫妻跟兒子住雙人房。幾年後就是改成住兩間雙人房了(我跟兒子一間,老婆跟姊姊一間),東橫很少有四人房,畢竟定位是在商務旅館。

0821 廣島 → 宮島

早上吃完早餐搭火車往宮島口站,再坐船到宮島。預計在這邊停留一整天。

小孩子坐平常很少坐的交通工具都很開心。


遇到整修中的嚴島神社海上鳥居。我們跟『整修』這兩個字滿有緣的,之前遇到整修中的清水神社。整修中的反而比一般正常的更少見。


宮島上的鹿真的比奈良的鹿溫馴多了...感覺宮島鹿過的比較悠哉。

這是靈火堂,會特別放這張照片是因為,它最近(20260521)燒掉了...


雖然宮島不高,但爬起來也是會累人的。最後只有我跟姊姊爬到山頂。還好一開始我們就選擇坐纜車上山,在前半段省了很多體力。

宮島是很讓人放鬆的點,到處逛逛走走都不錯,我對紅葉谷公園印象深刻。宮島可以慢慢的逛一整天。下山的時候老婆跟姊姊沒有坐上接駁車。她們用走的慢慢下來,結果我們下車的時候她們也走到了。吃了生蠔和紅葉饅頭,幫同事找一下星巴克的杯子,結果聽說一早就賣完了...

晚餐在廣島站的美食街的麗ちゃん廣島燒用餐,吃了滿滿一大份的廣島燒,相當美味。

0822 廣島市 → 岡山城 → 後樂園

今天早上先在廣島市走走,看到路面電車,我跟姊姊急急忙忙的上車,結果又坐錯方向了 XD,果然呷緊弄破碗。

廣島這個城市有一股悲傷的氣息...,其實磁場不是太讓人舒服....


由於下午還要去岡山城,我們就不去廣島城了。我們去了原爆ドーム、原爆の子の像
平和の鐘、慈仙寺之鼻、平和の時計塔、国立広島原爆死没者追悼平和祈念館、祈りの泉
動員学徒慰霊塔和附近的景點。當然也沒有忘了去兒子最愛的BOOKOFF SUPER BAZAAR 広島大手町店買玩具。

中午坐新幹線去岡山,先去東橫INN 岡山車站東口放行李。接著去食堂 やまと吃午餐。路上遇到一位有禮貌的中國人詢問去岡山城的路,我們跟她聊了一下,她剛從宇治過來。知道路後,她就先自己過去岡山城。我腳痛,家人陪我慢慢走(當時不曉得要穿寬楦的鞋子)。到了岡山城後,又巧遇這位中國人,她很親切的通知我們先去預約和服免費體驗,避免後面人多要等很久。感謝她,我們沒有等多久就有了和服初體驗。

在岡山城參觀了一下,就去隔壁的後樂園參觀 (是套票),結果我姊又掉了後樂園的票...之前在鎌倉她也掉過電車票....聽說姊姊在公司是以精細著稱的,讓人相當懷疑 XD


其實我還滿喜歡日式庭園的,不過姊姊覺得人工的氛圍太重。只能說青菜蘿蔔各有所好。

晚上在飯店附近的日本岡山「ICOT NICOT」商場拉麵大街,由於我腳痛,我們就在附近吃一吃。吃完在同棟的百貨公司買了岡山著名的麝香葡萄與巨峰葡萄和白桃吃。

0823 倉敷美觀 →  永旺夢樂城

今天的行程是在倉敷美觀悠閒的逛一天,我們有預約乘船體驗。先去預約船班再去逛,接著去吃午餐。我們找到一家平常不接外國客的法式餐廳:Bistrot Romanee ,老闆本來是不接我們的,但後來可能看我們很有誠意,就勉為其難的接待我們。餐點出乎意料之外的好吃。

之後就去坐船了,景觀很有中式河畔的感覺。


下午回飯店前,在永旺夢樂城讓孩子消耗一下體力。

晚餐一樣在飯店附近的日本岡山「ICOT NICOT」商場拉麵大街用餐,有四家拉麵店,大家選自己想吃的去,各自愉快。

0824 岡山 → 兵庫 → 姬路城 → 好古園 → 鐵道博物館

早上先坐新幹線去姬路城,依計畫應該是要坐公車的,但走了一下看不到半部公車(之後查了一下,因為道路施工,公車換了路線),不過距離不遠,邊聊邊走,姬路城也就到了。


前前後後在日本也看過十幾座城了,對我們來說城比較沒有新鮮感。中午到隔壁的好古園用餐(姬路城跟好古園也是套票)。餐點很好吃,日式莊園的氛圍也很好,小巧玲瓏,走起來也不會太累。




下午繼續坐新幹線到京都,然後悲劇就發生了....我們上了新幹線之後,一路坐到京都。但沒有辦法出站。原因是我們買的周遊券新幹線的部份只能坐到新大阪車站。所以後來我們補了差價(特快與新幹線的價差),才順利出站。其實我們的JR PASS上有路線圖,我們必須在新大阪換乘expresss才行。不過旅行嘛,總會有點小意外...

說來也算運氣好。要住的民宿 京都Inn,本來是離京都站有一點距離的,所以在訂房時有點猶豫,但剛好梅小路京都西車站新設立,離民宿只有300公尺遠。入住後和打工換宿的學生聊了一下,他之前竟然剛好是在兒子念的小學服替代役,真的有夠巧。


兒子滿常去鐵博館玩耍的(之前也去過名古屋的),不過這邊遇到不管小孩而且也講不聽的中國人,有點殘念。

晚上本來想吃スシロー 五条七本松店,但要等兩個小時。後來吃了京都北白川ラーメン魁力屋 丹波口店,用完餐後,剛好附近有ユニクロ 五条丹波口店,就順便逛一下,幫兒子補一些貨,補了一件紅色的外套,兒子也穿了好幾年。

晚上在民宿休息,兒子覺得上下鋪的房間很有趣。

0825 京都 → 天橋立 → 伊根舟屋

天橋立的部份,事先在台灣訂了:丹後天橋立・伊根2日無限次數通票。從京都往天橋立最有趣的就是大家的換車秀。在「福知山站」下車,步行至對面月台,轉乘「京都丹後鐵道」至「天橋立站」,之前很擔心不曉得能不能趕得上,結果很有趣的是,乘客都會先準備好,然後狂衝,跟著別人跑就對了,不過車長說他們其實會等我們...但總之,不要讓別人等會比較好。火車票券的部份改用JR關西廣域鐵路周遊券。到天橋立記得先去取套票。

順利到了天橋立(可惜忘了騎天橋立空中腳踏車)。兒子很喜歡坐單人纜車。

天橋立太多人拍過,就不放照片了。不過我們終於把日本三景都補完了。

下午坐公車去伊根舟屋,要注意回程的時間。餵海鷗和老鷹超有趣的。

中午在海宮(わだつみ) 鮨割烹吃飯,一開始不敢訂太多,老闆有點失望,還好後來發現好吃,又加點了幾份,老闆才展開笑容。


下午回天橋立繼續玩耍。晚上回京都吃飯。這邊一直想不起來在哪邊吃的飯(畢竟過了七年)。姊姊有拍照,吃的是なか卯 ,我一直覺得是在八条口,但姊姊的記錄是在二条吃的。

後來問了AI,跟同事討論了一下,才發現是我記錯了。對照了google map,我們是搭JR橋立線,在二条站下車,順便吃飯,再搭JR山陰本線,回到梅小路西站。

0826 → 貴船神社,平安神宮、晴明神社

今天是神社之旅。先去貴船神社,逛完後,本來打算吃個流水細麵的,結果人太多,沒有先來排隊根本吃不到,改吃咖哩飯(貴船俱樂部)。玩了一下水占卜,滿有趣的。

接著坐公車去平安神宮,印象中好像又坐錯方向了。還好我上車之後馬上覺得不對 (因為下一站跟google map寫的不一樣),馬上就下車 (感謝當時只要600日元的京都公車一日券)。

接著往平安神宮,平安神宮的正能量很強,我非常喜歡這個點(後來想想可能是因為到處都可以坐,而且有樹蔭。園區很大可以逛很久,不過有部份在整修中,我們走馬看花的走了一下。


最後的一個景點是晴明神社,這個算是著名的動漫景點(其實著名的是晴明公)。

晚上就近在吉野家吃晚餐。

0826 京都 → 關西空港 → 高雄

終於到了我最期待的部份了,就是回家。看似最簡單的部份,但有一點驚險。原因是我嚴重腹洩,在廁所排了很久的隊,還好後來有趕上haruka (最近看新聞,有人在日本某車站因為忍不下去了,給每個排隊的人1000日元讓他插隊,有時在尊嚴面前,錢真的不算什麼....)

去關西機場的時候,不太會自主報到,花了一點時間。其它都很順利。









































































2019年8月11日 星期日

CentOS 移植心得 (Apache & PHP版本問題)

原主機是 apache 2.2+ PHP 5.4.17是用rpm裝的。新的主機是CentOS 6,懶得重裝成 CentOS 7。就打算把PHP升版,順便把apache升成2.4版。本來打算讓YUM搞定所有事,但不太順利,最後還是手動編譯tarball搞定了。

PHP要升版很容易,透過remi來升就好了。網路上教學很多。
但我升完用yum搜尋會有兩種檔案,一種是php56開頭的,另一種是php開頭後面是56的。看了一下檔案大小確實有差異,我也懶得去認真研究其差異(猜想後來yum預設的PHP也變成5.6了)。我一開始兩種都有保留,希望php56的可以直接讓apache2.4用(因為它會產出libphp5.so這個檔案)。但弄到最後沒有辦法解決問題,最後還是把php56開頭的都移除了。

接著要處理apache 2.4的問題,rhel可以升,但升完之後不支援PHP。而且路徑名稱我很不喜歡,我也不想用link的方式來解,這個網路上也有一些教學。安裝完成後我試著裝了php56開頭的檔案 但怎麼弄都是以下錯誤:
httpd: Syntax error on line 163 of httpd.conf: Cannot load modules/libphp5.so into server: modules/libphp5.so: undefined symbol: unixd_config

這個是因為apache 2.4之後function name有變的關係。

試了幾天,看來這個方法不行 於是我自己下載了php5來編譯,但結果相同。鼻子摸一摸,連apache 24也自己編譯。(最後發現也許是我在httpd.conf沒有先disable php5 module的關係,但發現時已經太晚了)

我先把apache 2.2及php 56開頭的rpm都移除。(但我沒有移除掉php開頭的檔案),我的計畫是php 56編譯後只用它產出的SO檔給apache用。其它CLI的不動。

接著下載apahce 2.4編譯 (要先編譯安裝apr及apr-util),原先aprapr及apr-util的版本太舊,因此我有將之移除,並以預設值編譯安裝。

apache 2.4的編譯指令如下供參考:
./configure --prefix=/etc/httpd --enable-so --enable-ssl --enable-cgi \
--enable-rewrite --with-zlib --with-pcre \
--with-includedapr=/usr/local/apr/include/apr-1  \
--enable-modules=most --enable-mpms-shared=all --with-mpm=prefork


安裝後再回頭下載php 5.6.40,解壓編譯它,mysql的部份是後來重編的,因為啟用PHP之後發現PHP 不認識它們家三兄弟......

./configure --with-apxs2=/etc/httpd/bin/apxs \
--with-mysql --with-pdo-mysql --with-mysqli  --with-libxml-dir --with-gd \
--with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir \
--with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap \
--enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif

重點就是mysqli還有apxs的那一段,你其實也可以在編譯apache2的時讓它用unixd_config,但你都要用新的版本了,何苦再讓它支援舊指令。

完成後把so檔丟到apache的modules目標中。
cp /usr/src/php-5.6.40/libs/libphp5.so /etc/httpd/modules/

再編輯httpd.conf
加入以下兩行:
LoadModule php5_module modules/libphp5.so
IncludeOptional conf.d/*.conf

接著在conf.d目錄中,新增php.confA
 其內容是:

   
        Require all denied
   
   
        Order allow,deny
        Deny from all
        Satisfy All
   

AddType text/html .php
DirectoryIndex index.php

   
        SetHandler application/x-httpd-php
   
    php_value session.save_handler "files"
    php_value session.save_path    "/var/lib/php/session"
    php_value soap.wsdl_cache_dir  "/var/lib/php/wsdlcache"



最後再重啟apahe就好了。


x
x

CentOS 移植心得 (SAML & PHP版本問題)

這邊快乾死了,來澆點水。

最近在做幾件事,第一件是把 Ubuntu 14.04上同事開發的系統移植到CentOS 7上。

一開始在SAML(SSO)卡了很久。實在沒有辦法去認真研究了一下它的架構,最後發現在
/var/simplesamlphp/metadata
裡面的
saml20-sp-remote.php
要新增以下內容
$metadata['http://10.100.32.31/sso/module.php/saml/sp/metadata.php/default-sp'] = array (
  'AssertionConsumerService' => 'http://10.100.32.31/sso/module.php/saml/sp/saml2-acs.php/default-sp',
  'SingleLogoutService' => 'http://10.100.32.31/sso/module.php/saml/sp/saml2-logout.php/default-sp',

);

我原以為這樣就解決了。但系統移過去就是沒有畫面。在log檔沒有任何一個字的錯誤訊息,就這樣抓了三週。幾乎把所有我想過的方法都試過了。

後來有一天早上我福至心靈,把副程式的log都開起來(本來只有開主程式,沒有想到副程式裡的log都被關掉)才發現是empty這個函數在不同的PHP版本有不同的處理方式。

Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error. In other words, the following will not work: empty(trim($name)). Instead, use trim($name) == false.

我的舊主機是PHP 5.5.9,新的主機是5.4。所以才會遇到這個問題。

最後把PHP升版後終於解決了。