瀏覽標籤:

WordPress

[IIS] 在 Windows Server 上執行 PHP 莫名的慢

原本在Linux非常順暢的Wordpress移植到了Windows Server上卻發生一個頁面要Loading一秒以上,餵狗了一下找了幾種方法來優化一下。

  1. 修改php.ini
    output_buffering修改為Off

    output_buffering = Off
  2. 將php內用到localhost的通通修改為127.0.0.1
  3. 關閉Router的防DDOS功能 <-- 這個功能害我測了好久

修改完後有快一點點了,但還是比不上Linux的速度,可能這就是Windows Server先天上的吃資源吧。

 

 

來源:https://forums.iis.net/t/1153459.aspx?PHP+very+slow+on+IIS7

       

[WordPress] 在Windows Server 2012 R2中使用 Disqus Comment System 連結帳號失敗

最近手賤把Disqus解除帳號連結,卻發現怎麼樣都無法連結帳號,一直顯示Unable to connect to the Disqus API servers如下:

01

拜了Google大神很久都找不到原因,無論重新安裝Windows Server還是使用國外HostGator Web Hosting(Windows)都發生同樣錯誤,忽然想起之前安裝這個外掛的時候也有發生這個問題,後來改用Linux後就正常了,於是乎懷疑是否是作業系統的問題,立即開了虛擬機安裝一台Linux測試,在Linux底下沒有做什麼特別的設定,按下登入馬上就連結成功到Disqus。

個人猜測在Windows裡安裝的php套件少了什麼東西,導致外掛無法正常運作,雖然切回Windows後無法同步留言回Wordpress,但是此外掛還是有正常在運作中可以正常留言,那就先這樣結案吧!

       

WordPress 新增媒體後顯示 500 – 內部伺服器錯誤

在Windwes Server 2012 R2下安裝Wordpress還滿多東西需要設定的,像是上傳新照片的時候會出現500 - 內部伺服器錯誤

Wordpress 新增媒體後顯示 500 - 內部伺服器錯誤 - 01Wordpress 新增媒體後顯示 500 - 內部伺服器錯誤 - 02

這個問題非常讓人頭痛,詢問了Google小姐一陣子後找到了解答是說,由於IIS沒有權限讀取暫存資料夾C:\Windows\Temp,明明沒有權限讀取此資料夾為什麼又要上傳到這裡呢?難道沒有自己的一個專屬暫存資料夾嗎?
不過既然知道了問題點,解決起來就不是甚麼問題了。

解決方法:

  1. 找到路徑C:\Windows\Temp,編輯IIS_IUSRS使用者,給予該使用者讀取的權限即可。
    Wordpress 新增媒體後顯示 500 - 內部伺服器錯誤 - 03
  2. 這樣就可以正常顯示圖片囉!
    Wordpress 新增媒體後顯示 500 - 內部伺服器錯誤 - 04
       

[WordPress插件] WP Slug Translate 網址自動轉換英文

每次新增文章都會看到中文網址,轉成UTF8編碼的時候就會變成一長串無法閱讀的字串,也會有很多其他問題,所以我去找了個插件讓中文自動轉換為英文,解決這個問題。
插件名稱:WP Slug Translate
設定:

  1. 首先到這裡,訂閱等等要使用的翻譯功能,每個月有200萬次的額度,對於正常使用是非常足夠的。
  2. 接著到這裡,註冊應用程式。
    02
  3. 將剛剛的用戶端識別碼用戶端密碼,依序貼到插件的設定裡面後儲存變更。
    記得將下面的語言修改為zh-CHT唷!這樣才能正常翻譯繁體中文
    01
  4. 撰寫文章時網址還是顯示中文。
    03
  5. 發表後就會自動轉中文囉!
    04
       

WordPress 修改資料表的前綴名稱

WordPress在安裝的時候就可以修改資料表前綴,以供同一資料庫儲存多Wordpress,但若不再一開始安裝Wordpress就修改前綴名稱的話,則必須使用SQL語法修改。

  1. 打開wp-config.php,找到
    $table_prefix = 'wp_';
  2. 修改為
    $table_prefix = '新前綴名稱_';
  3. 進入phpMyAdmin,執行
    ALTER TABLE 原前綴名稱_資料表名稱 RENAME TO 新前綴名稱_資料表名稱
    update 新前綴名稱_options set option_name = replace(option_name,'wp_user_roles','新前綴名稱_user_roles')
    update 新前綴名稱_usermeta set meta_key = replace(meta_key,'wp_capabilities','新前綴名稱_capabilities')
    update 新前綴名稱_usermeta set meta_key = replace(meta_key,'wp_user_level','新前綴名稱_user_level')
    update 新前綴名稱_usermeta set meta_key = replace(meta_key,'wp_autosave_draft_ids','新前綴名稱_autosave_draft_ids')
       

CentOS 7.X Wrodpress 上傳的檔案無法被移動至wp-content/uploads/

在移植完Wrodpress測試是否正常時,發生了媒體無法上傳的問題,錯誤訊息給出上傳的檔案無法被移動至wp-content/uploads/,就翻了之前寫的文章WordPress 資料權限修復,這邊有一點點不太一樣的就是在CentOS裡面Apache的使用者不是www-data而是apache,修正完資料夾權限後竟然還是無法正常上傳媒體,爬文爬了一整晚將近12小時,下了各種關鍵字都找不到原因,最後快要放棄時逛逛PTT Linux版時無意間看到了這篇,才發現原來除了預設的資料夾權限以外,還多了SELinux安全性的問題。

解決方法有兩種如下:

  1. 給予權限寫入資料 (推薦!!)
    • 給予httpd讀取的權限
      sudo chcon -t httpd_sys_content_t /var/www/html/ -R
    • 給予寫入的權限
      sudo chcon -t httpd_sys_rw_content_t /data/www/html/sofast/wp-content/* -R
  2. 完全關閉SELinux (不推薦)
    • 開啟路徑
      /etc/sysconfig/selinux
    • 搜尋SELINUX修改為disabled
      //預設enforcing為開啟,disabled為關閉
      SELINUX=disabled
    • 重開機

查詢SELinux是否開啟(Enforcing為開啟,disabled為關閉)

getenforce

參考:

  1. CentOS 7 + SELinux + PHP + Apache – cannot write/access file no matter what
  2. CentOS 關閉SELinux方式
  3. [問題] CentOS 7 apache資料夾權限
       

WordPress 資料權限修復

  1. 先進入到wordpress資料夾,以下為我的路徑
    cd /var/www/html/wordpress
  2. 接著輸入以下指令修復資料夾
    sudo chown www-data:www-data -R *

    www-data是Apache使用者
    -R所有次目錄或檔案同時更改檔案擁有者

  3. 修復資料夾權限
    sudo find . -type d -exec chmod 755 {} \;
  4. 修復檔案權限
    sudo find . -type f -exec chmod 644 {} \;

參考:http://stackoverflow.com/questions/18352682/correct-file-permissions-for-wordpress

       

WordPress 網址刪除醜醜的index.php For Linux – Apache

環境:Ubuntu Server 15.10 x64

  1. 首先,確定 mod_rewrite 已經開啟。
    Apache 的 mod_rewrite 功能預設是關閉的,透過以下指令來啟動覆寫功能。

    sudo a2enmod rewrite
  2. 接著,修改 Apache 的主要設定檔。
    如果伺服器 Apache 配置多個網域,請找到 WordPress 對應的設定檔。
    如果沒有修改過,設定檔在 Ubuntu 的預設路徑為:

    /etc/apache2/sites-available/000-default.conf
  3. 使用 vi 或 nano 指令編輯檔案,
    主要設定檔的開頭應該是 在它上方加入這段:

    <Directory "/var/www/wordpress/">
        AllowOverride All
    </Directory>
    
  4. 接者重新啟動Apache
    sudo service apache2 restart
  5. 修改.htaccess檔案,內容如下
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /wordpress/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /wordpress/index.php [L]
    </IfModule>
    # END WordPress
    

轉:http://diary.taskinghouse.com/posts/664222-resolved-wordpress-permalinks-404-error

       

修改 WordPress 上傳檔案大小限制設定 From php.ini

1. 找到伺服器上的php.ini

C:\Program Files\PHP\v7.0

2. 搜尋 檔案限制

upload_max_filesize

3. 取代 (範例大小修改為16M)

upload_max_filesize = 16M

4. 搜尋 POST最大限制

post_max_size

5. 取代 (範例大小修改為32M)

post_max_size = 32M

6. 搜尋 記憶體限制

memory_limit

7. 取代 (範例大小修改為64M)

memory_limit = 64M

8. 最後重新啟動伺服器完成修改。

       
  • 1
  • 2