Archive2023

php使用curl无法获取https网页内容的解决办法

方法1:

方法2:
通过设置php.ini文件,可以一劳永逸
openssl.cafile= “C:/WebServ/php7.4.4/cacert.pem”

cacert.pem下载地址:http://curl.haxx.se/ca/cacert.pem

php利用get_headers函数判断网页链接是否可以打开

get_headers()是PHP中一个系统级函数,它可以返回一个包含有服务器响应一个HTTP请求所发送的标头的数组。如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息,利用它我们可以判断远程文件是否存在或者判断页面链接是否可以打开。

遇到的问题:
1. 由于有些站点对无效链接进行了技术处理,有些页面是无效的但get_headers获得的反馈是有效的,如:
http://news.china.com.cn/mts/2021-05/28/content_1171556.htm

2. 有些是有效的但get_headers反馈无效,如:
https://mbd.baidu.com/newspage/data/landingshare?preview=1&pageType=1&isBdboxFrom=1&context=%7B%22nid%22%3A%22news_9913548542233559421%22%2C%22sourceFrom%22%3A%22bjh%22%7D
http://news.tom.com/202105/4717053864.html(浏览器访问后地址自动变为https://news.tom.com/202105/4717053864.html)

php导出mysql数据库

在Windows11+Apache2.4.55+PHP5.1.4+MySQL5.0.15环境下,代码如下:

在Windows11+Apache2.4.55+PHP8.0.0+MySQL5.0.15环境下,代码如下:

Windows10下安装Apache2.4.55+PHP5.1.4+MySQL5.0.15

最近由于工作需要,需要搭建PHP5.1.4+MySQL5.0.15环境,我试着搭配Apache2.4.55,完成了部署,方法步骤如下:

一、安装 Apache2.4.55
下载地址:https://www.apachelounge.com/download/VS17/binaries/httpd-2.4.55-win64-VS17.zip

解压压缩包内Apach24文件夹内所有内容至 D:\webServ\apache2.4.55

用文本编辑器修改D:\webServ\apache2.4.55\conf\httpd.conf

37行:Define Define SRVROOT "c:/Apache24" -> Define SRVROOT "d:/webServ/apache2.4.55"
227行:#ServerName www.example.com:80 -> ServerName localhost:80
236行:Require all denied -> Require all granted
251行:DocumentRoot "${SRVROOT}/htdocs" -> DocumentRoot "d:/webServ/www"
252行:<Directory "${SRVROOT}/htdocs"> -> <Directory "d:/webServ/www">
285行:DirectoryIndex index.html -> DirectoryIndex index.html index.php

以管理员身份运行cmd,进入到C:\WebServ\Apache24\bin目录下,执行下面命令:
httpd -k install

提示:
Installing the 'Apache2.4' service
The 'Apache2.4' service is successfully installed.

执行下面命令:
httpd -k start

在浏览器地址栏输入http://localhost 可以看到apache安装成功

二、安装php5.1.4
下载地址:http://museum.php.net/php5/php-5.1.4-Win32.zip

解压压缩包内所有内容至 D:\webServ\php-5.1.4

复制 D:\webServ\php-5.1.4\php.ini-recommended一份,命名为php.ini

用文本编辑器修改D:\webServ\php-5.1.4\php.ini

529行:extension_dir = "./" -> extension_dir = "D:\webServ\php-5.1.4\ext"
637行:;extension=php_mbstring.dll -> extension=php_mbstring.dll
639行:;extension=php_curl.dll -> extension=php_curl.dll
645行:;extension=php_gd2.dll -> extension=php_gd2.dll
657行:;extension=php_mysql.dll -> extension=php_mysql.dll
678行:;date.timezone = -> date.timezone = PRC
929行:; session.save_path = "N;/path" -> session.save_path = "D:\webServ\php-5.1.4\sessiontmp"

再次修改D:\webServ\apache2.4.55\conf\httpd.conf,尾部添加:

ScriptAlias /php/ "D:/webServ/php-5.1.4/"
AddType application/x-httpd-php .php .php5
Action application/x-httpd-php "/php/php-cgi.exe"

三、安装MySQL5.0.15
下载地址:https://downloads.mysql.com/archives/get/p/23/file/mysql-noinstall-5.0.15-win32.zip

解压至:D:\webServ\mysql-5.0.15-win32

在D:\webServ\mysql-5.0.15-win32目录下,复制my-small.ini为my.ini

用文本编辑器修改my.ini,在28行socket= /tmp/mysql.sock后面,插入下面2行:

basedir="D:\webServ\mysql-5.0.15-win32"
datadir="D:\webServ\mysql-5.0.15-win32\data"

以管理员身份运行cmd,进入到D:\webServ\mysql-5.0.15-win32\bin目录下,输入mysqld -install,提示:Service successfully installed.

输入net start mysql,启动mysql服务

输入mysql -u root -p,提示输入密码,这里空,直接回车,输入下面命令修改root账号密码为1234,然后按回车键确认,注意行末的“;”不能省略:
set password for root@localhost = password('1234');

说明:
my.ini中datadir是用来设置mysql数据库文件的存放位置,如果你选择默认位置(mysql的安装路径下的data文件夹),这行可以删除或注释掉。

如果你想把mysql数据库文件放在其它位置,如放在“D:\mydb”文件夹下,那你需要在my.in文件中设置:
datadir="D:\mydb"

同时,在启动mysql前,你需要把mysql安装路径下data文件夹内的mysql文件夹复制到“D:\mydb”下,否则mysql无法启动。