PHP中调用SVN命令更新网站方法(解决文件名包含中文更新失败的问题)
生活随笔
收集整理的這篇文章主要介紹了
PHP中调用SVN命令更新网站方法(解决文件名包含中文更新失败的问题)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
想說寫一個通過網頁就可以執行 SVN 升級的程序,結果并不是我想得那樣簡單,有一些眉角需要注意的說。
先以 Apache 的用戶帳號執行 SVN checkout,這樣 Apache 才有 SVN 的鏈結權力,才可以通過網頁執行 SVN update
?
在用 PHP 執行 shell 指令前要加上 export LANG=C.UTF-8 的環境聲明,不然 SVN update 時遇到中文會出現 error,Ubuntu 的 Apache 默認是 LANG=C
接著要為 SVN 補上 --accept theirs-full 的參數,這是當沖突發生時,都以 SVN Server 的文件版本為主
最后再加上 2>&1,讓 PHP 可以取得包含錯誤的所有信息
?
<?php putenv('LANG=C.UTF-8'); // 根據Linux設置語言環境變量,解決svn更新時中文名稱導致的問題,也可以使用putenv('LANG=en_US.UTF-8'); $result = shell_exec('svn update --accept theirs-full /var/www/my_site 2>&1'); echo nl2br($result);?
轉載于:https://www.cnblogs.com/itsharehome/p/8503137.html
總結
以上是生活随笔為你收集整理的PHP中调用SVN命令更新网站方法(解决文件名包含中文更新失败的问题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决第一个div浮动,后面div覆盖的问
- 下一篇: 初遇构造函数