Warning: require(/www/wwwroot/shortplay/vendor/composer/../symfony/polyfill-intl-normalizer/bootstrap.php)
时间: 2023-08-21 17:02:25 浏览: 62
这个警告通常表示你的PHP代码正在使用Symfony框架中的polyfill-intl-normalizer组件,但是该组件的依赖文件无法加载。这可能是由于以下原因之一导致的:
1. 该组件未正确安装。你可以使用Composer检查并安装该组件,或者手动下载并安装它。
2. 你的PHP配置中没有启用Intl扩展。检查你的PHP配置文件,确保启用了Intl扩展。如果未启用,你需要启用它并重新启动Web服务器。
3. 文件路径错误。检查文件路径是否正确,并确保文件实际存在于指定路径中。
请根据以上提示逐一排查,找出问题并解决它。
相关问题
我输入了http://127.0.0.1:3002/1.PNG 依然不加载
根据你提供的信息,我猜想你在浏览器中输入了 `http://127.0.0.1:3002/1.PNG` 来访问图片,但是图片仍然无法加载。
这可能是因为 Linux 系统中对文件名的大小写敏感,而你的图片文件名是 `1.PNG`,但是在代码中却使用的是小写的 `img` 目录,导致访问图片时路径不正确。
你可以尝试将 `imgs.push(url + 'img/' + img);` 修改为 `imgs.push(url + 'img/' + img.toLowerCase());`,这样就可以将图片文件名转换为小写,避免路径大小写不匹配的问题了。修改后的代码如下:
```
const server = require('koa-static');
const koa = require('koa');
const fs = require('fs');
const app = new koa();
app.use(server(__dirname));
function fgImg() {
return new Promise((res, err) => {
fs.readdir('static/img', (er, path) => {
console.log(path);
res(path);
err(er);
});
});
}
app.use(async ctx => {
let paths = await fgImg();
let imgs = [];
let url = 'http://127.0.0.1:3002/';
paths.map(img => {
imgs.push(url + 'img/' + img.toLowerCase());
});
ctx.body = {
name: '获取相册',
title: '相册名称',
img: imgs
};
});
app.listen(3002, () => {
console.log('启动成功');
});
```
如果还是无法加载图片,可以在浏览器中检查控制台输出的错误信息,以确定具体的问题所在。
使用playwright模拟浏览器获取https://www.nmpa.gov.cn/datasearch/search-result.html的数据
好的,我来为您介绍如何使用Playwright模拟浏览器获取https://www.nmpa.gov.cn/datasearch/search-result.html的数据。
首先,您需要安装Playwright库。可以使用以下命令在终端中安装:
```
npm install playwright
```
然后,您可以使用以下代码模拟打开浏览器,导航到目标网站,并搜索数据:
```javascript
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch({ headless: false }); // 打开Chromium浏览器
const page = await browser.newPage(); // 创建一个新页面
await page.goto('https://www.nmpa.gov.cn/datasearch/search-result.html'); // 导航到目标网站
// 等待搜索框加载完成
await page.waitForSelector('.search-input-wrapper input');
// 在搜索框中输入关键字
await page.type('.search-input-wrapper input', '口罩');
// 点击搜索按钮
await page.click('.search-input-wrapper button');
// 等待搜索结果加载完成
await page.waitForSelector('.search-result-list');
// 获取搜索结果
const results = await page.evaluate(() => {
const list = [];
const elements = document.querySelectorAll('.search-result-list .search-item');
for (const element of elements) {
const title = element.querySelector('.search-item-title a').innerText;
const date = element.querySelector('.search-item-time').innerText;
const link = element.querySelector('.search-item-title a').href;
list.push({ title, date, link });
}
return list;
});
console.log(results);
await browser.close(); // 关闭浏览器
})();
```
上面的代码首先打开Chromium浏览器,然后导航到目标网站。接着,它等待搜索框加载完成,输入关键字并点击搜索按钮。然后,它等待搜索结果加载完成,并且使用`evaluate`方法获取搜索结果。最后,它将搜索结果打印到控制台中,并关闭浏览器。
希望这可以帮助您获取目标网站的数据!