月度存档: 12 月 2018 - 第4页

php7 兼容 MySQL 相关函数

如果之前的项目是用php5.6或者更早版本开发的,现在升级到php7+,那么很多和sql相关的操作代码就要改了,为了同时兼容php的新老版本,就用如下函数即可,参考了discuz的写法

if(!function_exists('mysql_pconnect')){
    $mysqli = mysqli_connect("$dbhost:$dbport", $dbuser, $dbpass, $dbname);
    function mysql_pconnect($dbhost, $dbuser, $dbpass){
        global $dbport;
        global $dbname;
        global $mysqli;
        $mysqli = mysqli_connect("$dbhost:$dbport", $dbuser, $dbpass, $dbname);
        return $mysqli;
        }
    function mysql_select_db($dbname){
        global $mysqli;
        return mysqli_select_db($mysqli,$dbname);
        }
    function mysql_fetch_array($result){
        return mysqli_fetch_array($result);
        }
    function mysql_fetch_assoc($result){
        return mysqli_fetch_assoc($result);
        }
    function mysql_fetch_row($result){
        return mysqli_fetch_row($result);
        }
    function mysql_query($query){
        global $mysqli;
        return mysqli_query($mysqli,$query);
        }
    function mysql_escape_string($data){
        global $mysqli;
        return mysqli_real_escape_string($mysqli, $data);
        //return addslashes(trim($data));
        }
    function mysql_real_escape_string($data){
        return mysql_real_escape_string($data);
        }
    function mysql_close(){
        global $mysqli;
        return mysqli_close($mysqli);
        }
}

mysql 修改表名

ALTER TABLE wp_posts RENAME TO wp_posts1

XAMPP多站点 开启 SSL (https)

1.编辑 /opt/lampp/etc/php.ini 文件,找到 “;extension=php_openssl.dll” (去掉前面的;号注释)

2.需要配置 httpd-ssl.conf 文件(opt/lampp/etc/extra/httpd-ssl.conf)
配置 DocumentRoot 和 ServerName ,改成自己定义的;
配置三个证书文件

SSLCertificateFile "/opt/lampp/etc/ssl.crt"
SSLCertificateKeyFile "/opt/lampp/etc/ssl.key"
SSLCertificateChainFile "/opt/lampp/etc/ssl_chain.crt"#记得去掉它前面的#号
    or
#SSLCertificateFile "/etc/letsencrypt/live/xxx.com/fullchain.pem"
#SSLCertificateKeyFile "/etc/letsencrypt/live/xxx.com/privkey.pem"

完整配置参考:

<VirtualHost *:443>
ServerAdmin nbllq@qq.com
DocumentRoot "/opt/lampp/htdocs/test/web/"
ServerName xxx.amyflash.com

SSLEngine on
SSLCertificateFile "/opt/lampp/etc/ssl.crt"
SSLCertificateKeyFile "/opt/lampp/etc/ssl.key"
SSLCertificateChainFile "/opt/lampp/etc/ssl_chain.crt"
<Directory "/opt/lampp/htdocs/test/web/">
Options FollowSymLinks
AllowOverride All
Require all granted

ErrorLog "logs/www.test.com-error_log"
CustomLog "|/opt/lampp/bin/rotatelogs /opt/lampp/logs/www.test.com-access_log_%Y-%m-%d 86400 480" common
</VirtualHost>

3.访问80端口需要在httpd-vhosts.conf里面配置

<VirtualHost *:80>
ServerAdmin nbllq@qq.com
DocumentRoot "/opt/lampp/htdocs/test/web/"
ServerName xxx.amyflash.com
#RewriteEngine On
#RewriteRule ^/(.*)$ https://xxx.amyflash.com/$1 [R=301,L]
</VirtualHost>

4.将http跳转到https上,网站根目录下加入.htaccess文件

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

ps:多站点多证书对应配置即可
阿里云官方文档:https://help.aliyun.com/knowledge_detail/95493.html?spm=a2c4g.11186623.2.11.35da34f1JnB78t