[服務架設][系統][PHP] Fatal error: Call to undefined function exif_read_data()

[服務架設][系統][PHP] Fatal error: Call to undefined function exif_read_data()

If you got a ‘Fatal error: Call to undefined function exif_read_data(): …..’ error during executing your PHP program, you may:

case1: (Using PHP in Microsoft Windows environment)

Edit your php.ini and move the ‘extension=php_mbstring.dll’ prior to ‘extension=php_exif.dll’. Re-start your web-server (apache).

case2: (Linux)

Re-compile and re-install your PHP with configuration parameters –enable-exif and –enable-mbstring (compiling both exif and mbstring statically, don’t use mbstring compiled as a DSO module).

Reference:
[1] http://uk2.php.net/exif_read_data

你喜歡這篇文章嗎? 馬上分享它:
Posted in PHP, 架站, 解決 | Leave a comment

[SEO][服務架設] 讓 MediaWiki 使用短網址(short url)

可參考的文件:

以設定 apache web server 的 httpd.conf 為例,只要做以下設定即可:

I. 設定 httpd.conf

1. 確認 ReWrite 模組有安裝

2. 設定 httpd.conf
<Directory /home/wiki>
…..
Options FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /index.php?title=$1 [L,QSA]
…..
</Directory>

3. 重跑 web server

II. 設定 LocalSettings.php
在自己的 MediaWiki 的『根目錄』中的 LocalSettings.php 檔案中增加以下這行設定:
$wgArticlePath = “$wgScriptPath/$1″;


特別說明事項:

  1. 避免 MediaWiKi 的『編輯器』等相關 icon 圖路徑被 rewrite:
  2. 增加一行設定:『RewriteRule ^(images|skins|fckeditor)/ – [L]
    或增加這一行避免 rewrite 相關檔案: RewriteRule \.(php|html|gif|jpg|png|css|js)$ – [L]

  3. 避免連結站內的 URL 被 rewrite:
  4. 增加:『RewriteRule ^[^:]*\. – [L]
    增加:『RewriteRule ^[^:]*\/ – [L]

  5. 避免改成短 URL 被各家 robot 誤認為是 spam,在『根目錄』中擺上『robots.txt』檔案,內容為:
  6. User-agent: *
    Disallow: /index.php

    或者,MediaWiki 程式和虛擬的文件目錄是分開時(例如: MediaWiki 程式是在 /mediawiki/ 目錄,虛擬的文件目錄是在 /wiki/), robots.txt 內容可以為:
    User-agent: *
    Disallow: /mediawiki

  7. 無法動到 httpd.conf 的話,可以在『自家』的 .htaccess 檔案中設定,詳情請參考上述的[1]。
  8. 有人可能避免用 ReWrite 而影響伺服器的效能因此改用以下方法(僅是範例):
  9. 1. 在網頁的『根目錄』中
    ln -s mediawiki/index.php ./wiki

    2. 在 httpd.conf 或 .htaccess 中
    AddHandler dh-php /cgi-system/php5.cgi
    <Files “wiki”>
    SetHandler dh-php
    </Files>


網路上有名的維基百科(Wikipedia, 維基百科中文版)就是用 MediaWiki 程式架設出來的。或是說,MediaWiki 原來是為了 Wikipedia 而寫的,它目前是個『自由軟體套件(GPL Licence)』。

除了維基百科的一些姊妹計畫站外,網路上有一大堆用 MediaWiki 套件架設出來的網站。諸彼特網站目錄也計畫要用 MediaWiki 套件為基礎去設計一套運作機制,讓網站的擁有者可以在諸彼特網站目錄中編輯自己的網站資訊,並可以為自己的資料頁面上鎖/解鎖。

維基姊妹計畫:
維基詞典
維基教科書
維基語錄
維基共享資源
維基新聞
維基文庫
維基物種
元維基

你喜歡這篇文章嗎? 馬上分享它:
Posted in SEO, 架站 | Tagged | Leave a comment

如何移除並取消 MySQL 的 binary log 檔案

o MySQL 的 binary log 檔案佔了磁碟很多的空間

在例如 /var/lib/mysql/ 目錄可能會發現不少 MySQL 的 binary log 檔案:
-rw-rw—- 1 mysql mysql 29662 Aug 6 23:53 mysql-bin.000001
-rw-rw—- 1 mysql mysql 1055243 Aug 6 23:53 mysql-bin.000002
-rw-rw—- 1 mysql mysql 1073790447 Aug 7 00:42 mysql-bin.000003
-rw-rw—- 1 mysql mysql 1074547174 Aug 7 01:30 mysql-bin.000004
-rw-rw—- 1 mysql mysql 1074351847 Aug 7 01:54 mysql-bin.000005
-rw-rw—- 1 mysql mysql 1074535688 Aug 7 02:01 mysql-bin.000006
-rw-rw—- 1 mysql mysql 1074495922 Aug 7 02:07 mysql-bin.000007
-rw-rw—- 1 mysql mysql 1074497579 Aug 7 02:13 mysql-bin.000008
-rw-rw—- 1 mysql mysql 147849819 Aug 7 17:21 mysql-bin.000009

這些檔案可以佔住了磁碟很多的空間。

這一篇要說明如何正規方式移除這些檔案,並改寫 my.cnf 設定組態不去記錄這些二進位日誌檔案。 Continue reading

你喜歡這篇文章嗎? 馬上分享它:
Posted in MySQL, 架站, 解決 | Tagged , | Leave a comment

將載入Google Plus One的JavaScript改寫成非同步載入寫法

原有的 Google Plus One (G+) 的同步載入 JavaScript 寫法假設是:

<script type=”text/javascript” src=”https://apis.google.com/js/plusone.js”>
{lang: ‘zh-TW’}
</script>

改寫成非同步載入寫法後變成這樣:

<script type=”text/javascript”>
window.___gcfg = {lang: ‘zh-TW’};
(function() {
var po = document.createElement(‘script’); po.type = ‘text/javascript’; po.async = true;
po.src = ‘https://apis.google.com/js/plusone.js’;
var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(po, s);
})();
</script>

你喜歡這篇文章嗎? 馬上分享它:
Posted in JavaScript, 實作 | Tagged , , | Leave a comment

JavaSript語法隨手記錄

o HTML 檔案內容中,JavaScript 要放在如下的 tag 中撰寫
<script type=”text/javascript”>
<!–
//…..這寫 JavaScript 程式
//–>
</script>

o 檢查變數存在否 (不適用於 boolean) Continue reading

你喜歡這篇文章嗎? 馬上分享它:
Posted in JavaScript, 實作, 隨記 | Tagged | Leave a comment

安裝Google Applicaiton Engine(GAE)開發環境

Install the development environment of Google Applicaiton Engine (GAE)

1. Install Python
2. Install GoogleAppEngine-1.5.4.msi (Download from http://code.google.com/intl/zh-TW/appengine/downloads.html)
3. Install eclipse for java Developer (maybe install the jre-7-windows-x64.exe)
4. Run eclipse.exe Continue reading

你喜歡這篇文章嗎? 馬上分享它:
Posted in Python, 架站 | Tagged , , | Leave a comment

用Python使用Google應用服務引擎(GAE)隨手記錄

資料來源:http://code.google.com/intl/zh-TW/appengine/docs/python/runtime.html

==========

from google.appengine.runtime import DeadlineExceededError

class MainPage(webapp.RequestHandler):
def get(self):
try:
# Do stuff…

except DeadlineExceededError:
self.response.clear()
self.response.set_status(500)
self.response.out.write(“This operation could not be completed in time…”)

如果處理常式無法在第二個期限內傳回回應或引發例外狀況,處理常式將終止並傳回預設的錯誤回應。

/////

下列範例示範快取匯入模組的方式。因為單一網頁伺服器只會匯入一次 mymodule,全域 mymodule.counter 只會在伺服器第一次服務要求時初始化為 0。後續的要求會使用之前要求的值。 Continue reading

你喜歡這篇文章嗎? 馬上分享它:
Posted in Python, 實作, 隨記 | Tagged , , , | Leave a comment

Python 語法隨手記錄 – 3

書名、原作者、原譯者資訊:

Python 教學文件

作者:
Guido van Rossum
Fred L. Drake, Jr., editor
譯者:
周譯樂


/////程式錯誤與例外(Exceptions)情形

至此為止,我們都只有稍稍的提到錯誤訊息。但是如果你有試著執行上面的範例的話,你可能注意到,基本上錯誤的情況可以分成兩類:語法錯誤 ( syntax errors ) 以及例外情況 ( exceptions )。

/////語法錯誤 Continue reading

你喜歡這篇文章嗎? 馬上分享它:
Posted in Python, 隨記 | Tagged , | Leave a comment