月度归档: 2019 年 3 月

  • BING、百度、有道平台免费翻译API

    BING、百度、有道平台免费翻译API

    下面我们记录一下bing、baidu、youdao等平台免费的翻译接口地址。

    BING

    http://api.microsofttranslator.com/v2/Http.svc/Translate?appId=AFC76A66CF4F434ED080D245C30CF1E71C22959C&from=&to=en&text=老季博客

    <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">Old Season Blog</string>

    BAIDU

    http://fanyi.baidu.com/transapi?from=auto&to=cht&query=Calculation

    {
         "from": "en",
         "to": "cht",
         "domain": "all",
         "type": 2,
         "status": 0,
         "data": [
             {
                 "dst": "計算",
                 "prefixWrap": 0,
                 "src": "Calculation",
                 "relation": [],
                 "result": [
                     [
                         0,
                         "計算",
                         [
                             "0|6"
                         ],
                         [],
                         [
                             "0|6"
                         ],
                         [
                             "0|6"
                         ]
                     ]
                 ]
             }
         ]
     }

    v2transapi已经失效

    Youdao有道

    http://fanyi.youdao.com/translate?&doctype=json&type=AUTO&i=计算

    {
        "type": "ZH_CN2EN",
        "errorCode": 0,
        "elapsedTime": 1,
        "translateResult": [
            [
                {
                    "src": "计算",
                    "tgt": "To calculate"
                }
            ]
        ]
    }

    type的类型有:

    ZH_CN2EN 中文   英语 
    ZH_CN2JA 中文   日语 
    ZH_CN2KR 中文   韩语 
    ZH_CN2FR 中文   法语 
    ZH_CN2RU 中文   俄语 
    ZH_CN2SP 中文   西语 
    EN2ZH_CN 英语   中文 
    JA2ZH_CN 日语   中文 
    KR2ZH_CN 韩语   中文 
    FR2ZH_CN 法语   中文 
    RU2ZH_CN 俄语   中文 
    SP2ZH_CN 西语   中文
    
  • php中如何启用exec函数 宝塔面板中如何解除exec函数的禁用?

    php中如何启用exec函数 宝塔面板中如何解除exec函数的禁用?

    前面我们写了一个WordPress的开源采集插件,里面需要使用snoopy类配合curl来采集https的网站,但是snoopy类里面的curl需要使用exec这个函数来执行,下面我们记录一下如何在宝塔面板以及配置文件中启用exec。

    https://www.jiloc.com/wp-jpost

    php中的exec()函数有什么用?

    功能描述:允许执行一个外部程序(如 UNIX Shell 或 CMD 命令等)。
    危险等级:高

    宝塔面板中如何启用exec函数?

    在左侧菜单『软件管理』中,找到对应的PHP版本,然后点击『设置』– 【禁用函数】,选择到exec,然后点击「删除」即可。

    如何通过修改配置文件(使用于所有环境Windows、Linux、Centos、Debian)启用exec函数?

    打开对应的php.ini查找到 “disable_functions” ,将exec从函数中去除

    重启web、php-fpm服务即可。

  • WordPress正确引入JS和CSS文件方法

    WordPress正确引入JS和CSS文件方法

    在开始使用WordPress开发你的网站建设项目之前,你需要知道如何在WordPress引入JS和CSS文件,在WordPress中引入这两种文件的方式与平常网站中引入的方式有所不同,让我们来一起看看。

    引入.js文件

    在WordPress引入JS和CSS文件之前,需要将这些文件通过WordPress的API进行注册,从而声明它们的存在,然后在通过调用函数将它们引入到对应的页面中,注册两种文件的API函数 很简单,使用起来也很方便,我们以注册Bootstrap的JS以及CSS文件为例:

    function jpost_scripts() {
        wp_register_script('wp-jpost', plugins_url('wp-jpost.js', __FILE__), array('jquery'),'0.1', true);
        wp_enqueue_script('wp-jpost');
    }
    add_action( 'init', 'jpost_scripts' );  

    以上函数是再插件中为JS文件进行注册,让我们来看看,wp_register_script函数这个API对应的参数内容是什么意思。
    第一个参数’wp-jpost’,可以当作是该注册脚本的名称,名称必须唯一,在之后加载的时候会用到该名称。
    第二个参数就是该文件的路径了,我们采用插件页的目录来引用。
    第三个参数是指在该脚本加载之前需要预加载的包,例如我们现在需要依赖jquery采能使用。
    第四个参数是指该脚本的版本号, 通过引入版本号能够更新客户端缓存,很有用。
    最后一个参数是指是否将该脚本引入到页面底部(</body>标签之前),这样做有利于SEO搜索引擎优化原则。

    引入.css文件

    wp_register_style('bootstrap', get_template_directory_uri() . '/bootstrap/bootstrap.css', '', '3.0.1');

    与JS的注册函数相比较,它们的功能解释都是相同的,除了最后一个变量不是将该脚本在页脚加载。

    对注册好的JS和CSS文件进行引入

    在通过之前的注册流程之后,我们就可以开始在主题中引入对应的文件了,引用方式比注册要简单得多,例如我们要引入上面的bootstrap.js,那么就按照以下进行编码:wp_enqueue_script('bootstrap');如果要引入bootstrap.css,那么就按照以下进行编码:wp_enqueue_style('bootstrap');需要说明的是,JS和CSS的名称一样是没关系的,同样可以正常加载。

    写在文章最后

    采用WordPress的方式加载JS和CSS文件好处有很多,除了一劳永逸之外,还能够在不同功能页面引入不同文件,从而更有利于网站优化。

  • WordPress中如何引入默认jQuery并在特别jQuery版本中使用$()写法

    WordPress中如何引入默认jQuery并在特别jQuery版本中使用$()写法

    WordPress 中有默认的jQuery库,所以我们是做插件以及主题开发不需要额外引入及对其版本没有要求的话,直接使用WordPress的jQuery库即可。下面最基本的引入方法:

    <?php    wp_enqueue_script("jquery");

    微妙的是这个独有的通用jQuery版本里,使用($)是无法工作的。所以我们很多开发者没有找到这个兼容的写法,下面我们举例说明:

    /* 到处可见的写法 */
    $("#some-element").wp-jpost();
    /* WordPress下的安全写法 */
    jQuery("#some-element").wp-jpost();

    WP 的 jQuery 和原版唯一的不同, 就是在最后一行加了 jQuery.noConflict();这个noConflict() 就是为了与其它的library 兼容性, 如:Prototype, MooTools, 或 YUI.

    如果我们需要使用到处可见的那种$()的写法的话,必须要使用下面的写法:

    jQuery(document).ready(function( $ ) {
    	
    	// 这里就能愉快的使用$()开头啦~~~
    	
    });
  • WordPress 函数 :get_post_statuses 检索所有文章帖子状态值

    WordPress 函数 :get_post_statuses 检索所有文章帖子状态值

    get_post_statuses()

    Retrieve all of the WordPress supported post statuses.检索所有WordPress支持的文章帖子状态。

    函数存在文件位置File: wp-includes/post.php 。函数方法如下:

    function get_post_statuses() {
        $status = array(
            'draft'   => __( 'Draft' ),
            'pending' => __( 'Pending Review' ),
            'private' => __( 'Private' ),
            'publish' => __( 'Published' ),
        );
     
        return $status;
    }
  • php下安装配置mbstring模块

    php下安装配置mbstring模块

    我们写了一个WordPress的采集插件WP-JPost,插件中需要使用到PHP_mbstring的扩展。

    https://www.jiloc.com/wp-jpost

    下面我们记录一下如何在php环境中支持mbstring扩展。

    Linux

    Centos:

    yum install php-mbstring

    Debian

    apt-get install php-mbstring

    Windows:

    一般来说windows环境下扩展已经安装好,我们只需要在php.ini的配置中查找到对应行数将前面的分号;去掉即可:

    将它改成:

    extension=mbstring

    保存重启对应的web服务器即可。

  • PHP代码检测web环境是否开启mod_rewrite模块

    PHP代码检测web环境是否开启mod_rewrite模块

    记录一下使用php代码检测当前web环境是否支持rewrite,支持IIS,APACHE,NGINX

    function mod_rewrite(){
    /**
     * --------------------------------------------------------------
     * MOD REWRITE CHECK
     * --------------------------------------------------------------
     * Define Constant for MOD REWRITE
     * 
     * Check if server allows MOD REWRITE. Checks for both 
     * Apache and IIS.
     * 
     */
    if( function_exists('apache_get_modules') && in_array('mod_rewrite',apache_get_modules()) )
       return TRUE;
    elseif( isset($_SERVER['IIS_UrlRewriteModule']) )
       return TRUE;
    else
       return FALSE;
    }
    mod_rewrite();

  • php程序中代码前面加上@符号是什么意思?

    php程序中代码前面加上@符号是什么意思?

    @ 运算符只对表达式有效。对新手来说一个简单的规则就是:如果能从某处得到值,就能在它前面加上 @ 运算符。例如,可以把它放在变量,函数和 include() 调用,常量,等等之前。不能把它放在 函数或类的定义之前,也不能用于条件结构例如 if 和 foreach 等。 目前的“@”错误控制运算符前缀甚至使导致脚本终止的严重错误的错误报告也失效。这意味着如果在某个不存在或类型错误的函数调用前用了“@”来抑制错误信息,那脚本会没有任何迹象显示原因而 死在那里。 一句话,即 抑制报错的一种手段 。

    示例:

    <?php 
    // 语句1
    $result= $hello['123'] 
    // 语句2
    $result= @$hello['123'] 

    它将仅执行语句1并显示通知消息:

    PHP Notice:? Undefined variable: hello.

  • WordPress 下载主题模板、更新报错 No working transports found解决办法

    WordPress 下载主题模板、更新报错 No working transports found解决办法

    出错原因是PHP没有开启curl.

    • windows下开启方法如下
    • 1. 将php.ini中的;extension=php_curl.dll前的分号去掉,
    • 2. 将php中libeay32.dll, ssleay32.dll, php_curl.dll,libssh2.dll移入windows/system32中,然后重启Apache服务器,问题解决
  • WordPress中安装插件需要ftp怎么办?

    WordPress中安装插件需要ftp怎么办?

    在初次搭建wordpress成功后,老季想安装wordpress中有趣的插件时缺发现需要ftp服务,同样的升级插件的话也需要输入ftp的用户名密码。其实不用真的搭建了一个ftp服务器,然后发现并没有什么卵用,这只是wordpress。

    全而留下的坑,那么,怎么绕过这道程序呢.其实很简单,我们只需在wordpress根目录找到一个

    wp-config.php,添加以下代码:

    define("FS_METHOD","direct");
    define("FS_CHMOD_DIR", 0777);
    define("FS_CHMOD_FILE", 0777);

    搞定.这时又会提醒无法安装,理由是文件无法创建目录,这个好解决.给wordpress添加权限就好

    chmod -R 777 wordpress的目录.
  • WordPress安装出现Unknown column ‘wp_’ in ‘field list’错误 解决办法

    WordPress安装出现Unknown column ‘wp_’ in ‘field list’错误 解决办法

    前面我们介绍了Windows下安装IIS+PHP+MySQL的配置。

    不过我们随后在新安装的WordPress后出现了如下错误:

    查询SELECT wp_时,WordPress数据库发生Unknown column ‘wp_’ in ‘field list’错误

    这个错误是由于文件无法写入导致的问题,此时我们介绍一下解决办法:

    1、修改文件夹的权限,将『只读』属性勾选去掉即可。

    2、自行新建配置wp-config.php。

    复制一个wp-config-sample.php,然后重命名为:wp-config.php

    然后修改一下信息:

    /** The name of the database for WordPress */
    define('DB_NAME', 'database_name_here'); //数据库名
    /** MySQL database username */
    define('DB_USER', 'username_here');//数据库用户名
    /** MySQL database password */
    define('DB_PASSWORD', 'password_here');//数据库密码
  • Windows Server 安装配置IIS+MySQL+PHP环境的详细图文教程–MySQL篇

    Windows Server 安装配置IIS+MySQL+PHP环境的详细图文教程–MySQL篇

    下载 MySQL 安装包

    在云服务器中打开浏览器,输入下载地址:https://dev.mysql.com/downloads/mysql/5.5.html#downloads

    安装MySQL

    运行安装程序,单击【下一步(Next)】,勾选同意协议。

    选择典型安装方式(Typical)

    勾选引导配置 MySQL 的选项(Luanch the MySQL Instance Configuration Wizard)

    配置MySQL

    配置 MySQL 的类型。此处以详细配置(Detailed Configuration)为例。

    这里写图片描述

    详细配置(Detailed Configuration),适合想要更加细粒度控制服务器配置的高级用户。
    标准配置(Standard Configuration),适合想要快速启动 MySQL而不必考虑服务器配置的新用户。
    注意: 标准配置(Standard Configuration)可能与操作系统不兼容。推荐选择详细配置。 配置 MySQL 服务器类型。此处以开发机器(Developer Machine)为例。
    开发机器(Developer Machine),代表典型个人用桌面工作站。同时运行多个桌面应用程序时,将 MySQL 服务器配置成占用最少资源的状态。
    服务器(Server Machine),代表服务器,MySQL 服务器可以同其它应用程序一起运行,例如 FTP 、 email 和 web 服务器。 MySQL 服务器配置成占用适当比例资源的状态。
    专用 MySQL 服务器(Dedicated MySQL Server Machine),代表只运行 MySQL 服务的服务器。MySQL 服务器配置成可占用所有资源的状态。

    配置 MySQL 数据库。此处以多功能数据库(Multifunctional Database)为例。

    多功能数据库(Multifunctional Database),同时使用 InnoDB 和 MyISAM 储存引擎,并在两个引擎之间平均分配资源。建议经常使用两个储存引擎的用户选择该选项。
    仅事务处理数据库(Transactional Database Only),同时使用 InnoDB 和 MyISAM 储存引擎,大多数服务器资源指派给 InnoDB 储存引擎。建议经常使用 InnoDB ,偶尔使用 MyISAM 的用户选择该选项。
    仅非事务处理数据库(Non-Transactional Database Only),完全禁用 InnoDB 储存引擎,所有服务器资源指派给 MyISAM 储存引擎。建议不使用 InnoDB 的用户选择该选项。

    配置 MySQL的 InnoDB 表空间。此处选择的默认配置。

    配置 MySQL 并发连接。此处以决策支持(Decision Support)为例。

    决策支持(Decision Support),适合不需要大量的并行连接情况。
    联机事务处理(Online Transaction Processing),适合需要大量的并行连接情况。
    人工设置(Manual Setting),适合手动设置服务器并行连接的最大数目。

    配置 MySQL 的网络选项。可以启用或禁用 TCP/IP 网络,并配置用来连接 MySQL 服务器的端口号。
    注意:
    默认情况启用 TCP/IP 网络。
    默认使用 3306 端口。

    配置 MySQL 字符集。此处以标准字符集(Standard Character Set)为例。

    标准字符集(Standard Character Set),默认 Latin1 做为服务器字符集。
    支持多种语言(Best Support For Multilingualism),默认 UTF8 做为服务器字符集。
    人工设置/校对规则( Manual Selected Default Character Set/Collation),从下拉列表中选择期望的字符集。

    配置 MySQL 服务选项。建议两种都选择上以便使用命令行管理 MySQL 。

    设置 root 密码。

    完成配置。单击 【Excute】 完成安装。

    登录 MySQL

    在云服务器中,单击【开始】,单击【搜索(图标)】,输入cmd,打开管理员命令框:

    输入命令mysql -u root -p,回车。
    通过设置的 root 密码登录 MySQL ,显示下图表示安装配置成功。

WeChat
↑