手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2024年09月的文章

旧贴:fck在chrome下能正常显示

 迁移的时候发现,后台的fck编辑器出不来。以前是用firefox的所以没问题,后来也是在使用chrome的时候才有注意(新版的fckEditor早就没有这个问题了,新版已经叫CKEditor了)

1、修改admin/editor/fckeditor_php5.php ,现在应该没有人用4了,直接改5,

同名方法覆盖一下
  1. function IsCompatible()  
  2.     {  
  3.         global $HTTP_USER_AGENT;  
  4.   
  5.         if(isset($HTTP_USER_AGENT)){  
  6.             $sAgent = $HTTP_USER_AGENT;  
  7.         } else{  
  8.             $sAgent = $_SERVER['HTTP_USER_AGENT'];  
  9.         }  
  10.   
  11.         if(strpos($sAgent'MSIE') !== false && strpos($sAgent'mac') === false && strpos($sAgent'Opera') === false){  
  12.             $iVersion = (float) substr($sAgentstrpos($sAgent'MSIE') + 5, 3);  
  13.             return ($iVersion >= 5.5);  
  14.         } else{  
  15.             if(strpos($sAgent'Gecko/') !== false){  
  16.                 $iVersion = (int) substr($sAgentstrpos($sAgent'Gecko/') + 6, 8);  
  17.                 return ($iVersion >= 20030210);  
  18.             } else{  
  19.                 if(strpos($sAgent'Opera/') !== false){  
  20.                     $fVersion = (float) substr($sAgentstrpos($sAgent'Opera/') + 6, 4);  
  21.                     return ($fVersion >= 9.5);  
  22.                 } else{  
  23.                     if(preg_match("|AppleWebKit/(\d+)|i"$sAgent$matches)){  
  24.                         $iVersion = $matches[1];  
  25.                         return ($matches[1] >= 522);  
  26.                     } else{  
  27.                         return false;  
  28.                     }  
  29.                 }  
  30.             }  
  31.         }  
  32.     }  

2、修改fckeditor.js,将两个配置的False改为true即可:

JavaScript代码
  1. this.EnableSafari   = true ;        // This is a temporary property, while Safari support is under development.  
  2. this.EnableOpera    = true ;  

这两个默认是false,改为true即可。

再打开sablog的后台,就OK了。

--------纯记录,下次再手贱的时候就不需要折腾N久了

 

Tags: fckeditor

折腾两小时,sablog基本迁移成功

 折腾了两个小时左右,sablog基本迁移成功(不过我是在全新代码下的,我线上的代码有过一部分改动,估计到时候还要折腾一下)

主要是几个地方:

1、db_mysql类。目前我凡是用到的地方,都已经判断过了。可能还有坑

2、preg_replace_callback,点了很多页面,目前也基本上都已经OK了。

原程序用的是error_reporting(0),所以一些notice,warning都不会显示 。所以极大的可能是一出错就白屏。我改成error_reporting(7),大部分问题都解决了。

准备什么时候迁移的时候再试一下。(服务器上还有不少站点。还要备份数据库,太累了,升还是不升,这是个问题!)

还好没有手贱升级PHP7

本来想将当前的服务器升级到PHP7的,在临最后动手的一霎那,突然想起,sablog用的是mysql_*的函数,在PHP7已经彻底没有了。

感慨一下没有手贱啊。不然就死啦死啦的了。准备这两天将原来的mysql类改用PDO实现一下,然后本地跑一下,看看PHP7是不是可以运行。如果OK的话,准备升级!

mac 清理dns cache

 之所以提起这个功能,是因为在windows下面太方便了,进入cmd窗口:ipconfig /flushdns ,轻轻松松处理

在mac上面就没有这么方便了,很久前,用“dscacheutil -flushcache”就可以解决了。但自从升级后这些命令就没有了,你必须得用这个组合才能清理干净:
XML/HTML代码
  1. sudo dscacheutil -flushcache  
  2. sudo killall -HUP mDNSResponder  
这不是什么新命令。
 
为什么会再提起它?是因为我在家里dmz了我的mac mini,然后,路由器自动拨号后,mac mini也在dnspod 上更新了IP,但因为我在几分钟前刚访问绑定在家里mac上的域名。导致dns信息被cache,所以才需要清理它。
 
将上面的内容清入到一个sh文件。chmod +x 一下,再ln -sf 到/usr/bin目录下,就可以全局调用了。灰常方便
 

Mac PHP7 Lumen Event冲突

在使用Lumen进行开发的时候。如果你使用:./artisan的时候报错:Cannot declare class Event, because the name is already in use。检查一下LOG发现是:

XML/HTML代码
  1. [2016-12-07 15:27:37] lumen.ERROR: ErrorException: Cannot declare class Event, because the name is already in use in /home/web/vendor/laravel/lumen-framework/src/Application.php:661  
  2. Stack trace:  
  3. #0 [internal function]: Laravel\Lumen\Application->Laravel\Lumen\Concerns\{closure}(2, 'Cannot declare ...', '/Volumes/docume...', 661, Array)  
  4. #1 /home/web/vendor/laravel/lumen-framework/src/Application.php(661): class_alias('Illuminate\\Supp...', 'Event')  
  5. #2 /home/web/vendor/laravel/lumen-framework/src/Application.php(631): Laravel\Lumen\Application->withAliases(Array)  
  6. #3 /home/web/vendor/laravel/lumen-framework/src/Application.php(766): Laravel\Lumen\Application->withFacades(true)  
  7. #4 /home/web/vendor/laravel/lumen-framework/src/Console/Kernel.php(54): Laravel\Lumen\Application->prepareForConsoleCommand(true)  
  8. #5 [internal function]: Laravel\Lumen\Console\Kernel->__construct(Object(Laravel\Lumen\Application))  
  9. #6 /home/web/vendor/illuminate/container/Container.php(794): ReflectionClass->newInstanceArgs(Array)  
  10. #7 /home/web/vendor/illuminate/container/Container.php(644): Illuminate\Container\Container->build('App\\Console\\Ker...', Array)  
  11. #8 /home/web/vendor/laravel/lumen-framework/src/Application.php(211): Illuminate\Container\Container->make('App\\Console\\Ker...', Array)  
  12. #9 /home/web/vendor/illuminate/container/Container.php(231): Laravel\Lumen\Application->make('App\\Console\\Ker...', Array)  
  13. #10 /home/web/vendor/illuminate/container/Container.php(746): Illuminate\Container\Container->Illuminate\Container\{closure}(Object(Laravel\Lumen\Application), Array)  
  14. #11 /home/web/vendor/illuminate/container/Container.php(644): Illuminate\Container\Container->build(Object(Closure), Array)  
  15. #12 /home/web/vendor/laravel/lumen-framework/src/Application.php(211): Illuminate\Container\Container->make('Illuminate\\Cont...', Array)  
  16. #13 /home/web/artisan(32): Laravel\Lumen\Application->make('Illuminate\\Cont...')  
  17. #14 {main}  

看了一下,Application.php的第661行对应的方法,我靠。

PHP代码
  1. /** 
  2.      * Register the aliases for the application. 
  3.      * 
  4.      * @param  array  $userAliases 
  5.      * @return void 
  6.      */  
  7.     public function withAliases($userAliases = [])  
  8.     {  
  9.         $defaults = [  
  10.             'Illuminate\Support\Facades\Auth' => 'Auth',  
  11.             'Illuminate\Support\Facades\Cache' => 'Cache',  
  12.             'Illuminate\Support\Facades\DB' => 'DB',  
  13.             'Illuminate\Support\Facades\Event' => 'Events',  
  14.             'Illuminate\Support\Facades\Gate' => 'Gate',  
  15.             'Illuminate\Support\Facades\Log' => 'Log',  
  16.             'Illuminate\Support\Facades\Queue' => 'Queue',  
  17.             'Illuminate\Support\Facades\Schema' => 'Schema',  
  18.             'Illuminate\Support\Facades\URL' => 'URL',  
  19.             'Illuminate\Support\Facades\Validator' => 'Validator',  
  20.         ];  
  21.   
  22.         if (! static::$aliasesRegistered) {  
  23.             static::$aliasesRegistered = true;  
  24.   
  25.             $merged = array_merge($defaults$userAliases);  
  26.             foreach ($merged as $original => $alias) {  
  27.                 class_alias($original$alias);  
  28.             }  
  29.         }  
  30.     }  

。。。。。怎么可以这样写呢?也不担心代码会不会冲突。就直接这样了??怪不得很多代码识别不了。更痛苦的是,前段时间为了测试命令行下的多线程,加载了:brew install php70-event,直接就冲突了。

不得已,brew remove php70-event。反正这个我也几乎用不到。哎~

所幸,搞定

 

 

 

Tags: lumen, event