RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-240144

Капитан Флинт's questions

Martin Hope
Капитан Флинт
Asked: 2024-07-08 02:26:16 +0000 UTC

Laravel - 请求中的独家字段验证

  • 5

有一个请求,其结构如下:

{
    "anything": false,
    "specifications": [
        {
            "nomenclature_id": null,
            "nomenclature_name": "Деревянный камень",
            "anything": true,
        },
        {
            "nomenclature_id": 3, // !!!
            "nomenclature_name": null,
            "anything": true,
        },
    ]
}

有必要描述联合现场验证的规则

specifications.*.nomenclature_id
specifications.*.nomenclature_name

以这样一种方式,其中一个必须为 null,另一个 !== null,同时:

如果 nomenclature_id !== null,则检查是否存在:nomenclatures,id

如果 nomenclature_name !== null,则检查字符串

我使用 required_if、exclusion_if 等规则尝试了不同的选项,有时等等。但没有达到预期的效果。很明显,我可以聪明地从控制器中删除此检查,并用代码描述它,但恕我直言,如果可以使用框架的内置工具完成某些操作,那么应该使用框架的工具来完成。

PHP 8.2

拉拉维尔 10

php
  • 3 个回答
  • 52 Views
Martin Hope
Капитан Флинт
Asked: 2020-02-04 22:32:01 +0000 UTC

linux目录继承

  • 3

例如,我创建一个文件夹/tmp/foo。我授予它权利775。因此,为此我执行chmod -R 775 /tmp/foo. 我使所有者成为用户myuser和组mygroup:chown -R myuser:mygroup /tmp/foo。这是清楚和可以理解的。但是有一个任务:里面的所有新文件和文件夹(有条件的无限嵌套)/tmp/foo必须继承它的所有者和访问权限。例如,如果我创建一个文件,/tpm/foo/bar.txt它应该具有相同的权限775和所有者myuser组mygroup。即使该文件是由另一个用户从mygroup.

我试图对chmod -R 4775 /tmp/foo在文件755和所有者otheruser组中创建的权限做同样的事情otheruser。用户和组的名称是有条件的。我究竟做错了什么?

linux
  • 1 个回答
  • 10 Views
Martin Hope
Капитан Флинт
Asked: 2020-12-24 15:59:23 +0000 UTC

MySQL 检查两个表之一中的数据

  • 1

有两个表 -messages和comments。其中一张表有一行content == 'hello'。我们需要知道哪些表有这一行(值是唯一的)并获取user_name这一行。也就是说,我们必须从数据库中接收这样一个答案,以便我们能够唯一地识别从哪个表中接收到这个答案。使用人类语言 - 哪个用户发布了此内容,是消息还是评论。最好在一个请求中执行此操作。我试图通过 UNION 做到这一点,但要么没有足够的知识(肌肉不是我的强项),要么我的手不在我的屁股上。

mysql
  • 2 个回答
  • 10 Views
Martin Hope
Капитан Флинт
Asked: 2020-09-09 04:59:04 +0000 UTC

在字符串中查找有效的 JSON

  • 0

有一个包含 JSON 和许多任意字符的字符串。例如:

my_string='2018_08_27-system {"a":"b", "c":"d"} finish {} mystring_text'

好吧,这是一个计划。JSON 可以是任何长度和嵌套(取决于生成文件时的许多参数),任何东西都可以在它之前和之后,并且可以有几个子字符串本身是有效的 JSON。简单地说,常规赛是行不通的。是否有一些库或一些经过验证的方法可以从字符串中选择所有包含 JSON 的子字符串?

python3.6

python-3.x
  • 2 个回答
  • 10 Views
Martin Hope
Капитан Флинт
Asked: 2020-08-21 20:10:19 +0000 UTC

mongoengine 是否有 before_save 方法或类似方法

  • 0

我最近开始使用mongoengine,我无法谷歌模型中是否有beforeSave()、beforeUpdate()等方法。

默认情况下,所有实例都需要填写一些字段,而不是静态数据。例如,如果您这样做:

class Subject(DynamicDocument):
    meta = { 'collection': 'subjects' }
    created_at = IntField(default=int(time.time()))

那么 created_at 将始终包含相同的时间戳,它会在导入类时立即初始化,并在创建实例时保持不变。如果你这样做:

class Subject(DynamicDocument):
    meta = { 'collection': 'subjects' }
    created_at = IntField()

    def save(self):
        self.created_at = int(time.time())
        self.save() # самого себя вызываем - чушь собачья

而且即使你在my_save()放下价值观和最后打电话的课堂上做了一些条件,self.save()它仍然是,第一,拐杖,第二,它必须到处改变,save()而my_save()不是根据风水。mongoengine 中是否有可能在模型中设置一些方法,这些方法将在创建之前、保存之前、更新之前调用?

还有另一种方法clean()几乎可以满足您的需求:

class Subject(DynamicDocument):
    meta = { 'collection': 'subjects' }
    created_at = IntField()

    def clean(self):
        self.created_at = int(time.time())

但是:更新呢?如果例如我updated_at需要放下完全相同的东西?直接在代码中检查是否created_at存在,如果存在,如果小于当前,则创建updated_at?不知怎么的歪了。通过 mongoengine 更优雅地期望它。

mongodb
  • 1 个回答
  • 10 Views
Martin Hope
Капитан Флинт
Asked: 2020-11-27 21:26:08 +0000 UTC

在selectel上上传python3文件

  • 1

我正在 Selectel 上编写文件上传器。简化的代码如下所示:

filename = 'example_watermarked.jpg'

headers['Content-Length'] = str(os.path.getsize(filename))

files = {
    'file' : open(filename, 'rb')
}

url = auth['url'] + 'images/python_uploader/' + filename

response = requests.put(url, files=files, headers=headers)

原来是这样的——源文件是 38158 字节。Selectel 上的文件为 38317 字节。当然,该文件不会打开。“额外”的 159 个字节从何而来?我究竟做错了什么?

PSos.path.getsize(filename)返回 38158 即 正确的尺寸。

PPS 我通过 Postman 尝试过,就像我下载了一个损坏的文件一样。只是现在它是 38355 字节。

更新: 以下块已添加到开头:

--de966cbba4ab406da3dd088e63bd9c7f
Content-Disposition: form-data; name="file"; 
filename="example_watermarked.jpg"

最后,像这样:

--de966cbba4ab406da3dd088e63bd9c7f--

其余的是二进制数据。

python
  • 2 个回答
  • 10 Views
Martin Hope
Капитан Флинт
Asked: 2020-10-04 14:37:41 +0000 UTC

用于排序的 MongoDB 索引

  • 0

在 MongoDBfind()中,产生了两个字段,另外一个字段用于排序。代码示例:

$limit = 10;
$skip = ( $page - 1 ) * $limit;

$query = [
    'conditions'    => [ 'channel_id' => $channel_id, 'author' => $author_id ],
    'sort'          => [ 'created_at' => -1 ],
    'skip' => $skip,
    'limit' => $limit
];

$publications = Pull::find( $query );

对于选择的字段,我这样做了(在 MongoDB 控制台中):

createIndex( { 'channel_id' : 1, 'author_id' : 1 } )

但是created_at发生排序的字段呢?为它单独创建一个索引,或者也将它推到一个复合索引中?谢谢你。

запрос
  • 1 个回答
  • 10 Views
Martin Hope
Капитан Флинт
Asked: 2020-09-07 20:26:08 +0000 UTC

PHP PDO 行数 - 如何更正?

  • 2

我有个问题。我们需要知道 SELECT 查询返回的行数。我遇到了各种解决方案,但我不明白哪个是正确的。出于某种原因,在英文 StackOverflow 上,许多人建议简单地而不是SELECT * FROM...做SELECT COUNT(*) FROM.... 如果我有半屏请求怎么办?具有嵌套SELECT'ami、JOIN'ami等魅力?我应该复制它并在任何地方添加 COUNT() 吗?这是歪的,恕我直言。我不想要那个。

还有第二种选择。这样做:

$result = $pdo->query( 'SELECT * FROM `foo_bar`;' );
$count_result = $pdo->query( 'SELECT FOUND_ROWS();' );
$row_count = $count_result->fetchColumn();

然后我们会取回我们需要的东西。但立即的问题是 - 这种方法有哪些限制/错误?陷阱,或不明显的问题。

还有第三种选择。

$result = $pdo->query( 'SELECT * FROM `foo_bar`;' );
$row_count = $result->rowCount();

官方 PDO 文档说 rowCount() 不适用于 SELECT 查询。相反,它写的是不能保证它对所有数据库的正确操作。我的测试表明 MySQL 和 PostgreSQLrowCount()可以正常工作。

毕竟,问题是如何计算 SELECT 查询选择的行数是否正确?

PScount( $result->fetchAll() ) 不提供。即使是悲惨的 100k 记录……你明白的。


请求示例:

$sql="SELECT SQL_CALC_FOUND_ROWS 
    metering.id,
    metering.super_number,
    metering.contract,
    metering.name, 
    metering.city,
    metering.address,
    metering.phone,
    metering.additional_phone,
    metering.responsible,
    metering.name_metering,
    metering.number_card_customer,
    metering.date_contract, 
    metering.date_metering, 
    metering.time_metering,
    metering.status_customer, 
    metering.status, 
    metering.notification,
    metering.date_status, 
    metering.date, 
    metering.creator, 
    metering.type, 
    metering.importance, 
    metering.source_attraction, 
    metering.production, 
    metering.status_metering, 
    metering.delivery_date, 
    metering.delivery_time, 
    metering.production_date,
    user_retail.login AS login_responsible, 
    login_name_metering.login AS login_name_metering, 
    (SELECT COUNT(*) FROM prepay_metering WHERE prepay_metering.id_custom = metering.id) AS prepay,
    (SELECT COUNT(*) FROM manufacture_cost WHERE manufacture_cost.name = metering.id) AS prepay_cost,
    (SELECT COUNT(*) FROM `communication_metering` WHERE `communication_metering`.`id_metering` = `metering`.`id`) AS comment      
    FROM `metering` 
    LEFT JOIN user_retail ON user_retail.id = metering.responsible
    LEFT JOIN user_retail AS login_name_metering ON login_name_metering.id = metering.name_metering
    WHERE
    metering.group_id = '".$_SESSION['group_id']."%' AND
    metering.id LIKE '".$_SESSION['id']."%' AND
    metering.super_number LIKE '".$_SESSION['super_number']."%' AND
    metering.contract LIKE '".$_SESSION['contract']."%' AND
    metering.name LIKE '%".$_SESSION['name']."%' AND
    metering.city LIKE '%".$_SESSION['city']."%' AND
    metering.address LIKE '%".$_SESSION['address']."%' AND
    (metering.phone LIKE '%".$_SESSION['phone']."%' OR metering.additional_phone LIKE '%".$_SESSION['phone']."%') AND
    metering.name_metering LIKE '".$_SESSION['name_metering']."%' AND
    metering.number_card_customer LIKE '".$_SESSION['number_card_customer']."%' AND
    metering.type LIKE '".$_SESSION['type']."%' AND
    metering.responsible LIKE '".$_SESSION['name_responsible']."%'
    ";

这是最初的要求。接下来是这个请求发生了什么的两个屏幕:

$_SESSION['status_customer']=$_POST['status_customer'];
    if (!empty($_SESSION['status_customer'])) $sql.="AND metering.status_customer='".$_SESSION['status_customer']."'";
    $_SESSION['status']=$_POST['status'];
    if (!empty($_SESSION['status'])) $sql.="AND metering.status_customer=2 AND metering.status='".$_SESSION['status']."'";
    $_SESSION['contract_yes']=$_POST['contract_yes'];
    if (!empty($_SESSION['contract_yes'])) $sql.="AND metering.contract!=''";
    $_SESSION['metering_sr']=$_POST['metering'];
    if (!empty($_SESSION['metering_sr'])) $sql.="AND metering.metering='3'";
    //Дата создания
    if (!empty($_SESSION['date1'])) {
        $start_date = substr($_SESSION['date1'],6,4).'-'.substr($_SESSION['date1'],3,2).'-'.substr($_SESSION['date1'],0,2);
        $sql=$sql."AND metering.date >= '".$start_date."'";
    }
    if (!empty($_SESSION['date2'])) {
        $end_date = substr($_SESSION['date2'],6,4).'-'.substr($_SESSION['date2'],3,2).'-'.substr($_SESSION['date2'],0,2);
        $sql=$sql."AND metering.date <= '".$end_date."' ";
    }
    //Дата замера
    if (!empty($_SESSION['date_metering1'])) {
        $start_date = substr($_SESSION['date_metering1'],6,4).'-'.substr($_SESSION['date_metering1'],3,2).'-'.substr($_SESSION['date_metering1'],0,2);
        $sql=$sql."AND metering.date_metering >= '".$start_date."'";
    }
    if (!empty($_SESSION['date_metering2'])) {
        $end_date = substr($_SESSION['date_metering2'],6,4).'-'.substr($_SESSION['date_metering2'],3,2).'-'.substr($_SESSION['date_metering2'],0,2);
        $sql=$sql."AND metering.date_metering <= '".$end_date."' ";
    }
    //Дата контракта
    if (!empty($_SESSION['date_contract1'])) {
        $start_date = substr($_SESSION['date_contract1'],6,4).'-'.substr($_SESSION['date_contract1'],3,2).'-'.substr($_SESSION['date_contract1'],0,2);
        $sql=$sql."AND metering.date_contract >= '".$start_date."'";
    }
    if (!empty($_SESSION['date_contract2'])) {
        $end_date = substr($_SESSION['date_contract2'],6,4).'-'.substr($_SESSION['date_contract2'],3,2).'-'.substr($_SESSION['date_contract2'],0,2);
        $sql=$sql."AND metering.date_contract <= '".$end_date."' ";
    }   
    //Дата доставки
    if (!empty($_SESSION['date_delivery1'])) {
        $start_date = substr($_SESSION['date_delivery1'],6,4).'-'.substr($_SESSION['date_delivery1'],3,2).'-'.substr($_SESSION['date_delivery1'],0,2);
        $sql=$sql."AND metering.delivery_date >= '".$start_date."'";
    }
    if (!empty($_SESSION['date_delivery2'])) {
        $end_date = substr($_SESSION['date_delivery2'],6,4).'-'.substr($_SESSION['date_delivery2'],3,2).'-'.substr($_SESSION['date_delivery2'],0,2);
        $sql=$sql."AND metering.delivery_date <= '".$end_date."' ";
    }       
    //Постраничное отображение
    if (isset($_GET['pag'])) $pag=$_GET['pag'];
    else $pag=0;
    if (empty($_GET['lim'])) $sql .=" LIMIT ".$pag.", 30;";

代码不是我的。有一个任务要转移到 PDO。因此,我不希望看到“歪手”和“谁这样写”的评论,因为它会在错误的地址:) 谢谢

php
  • 2 个回答
  • 10 Views
Martin Hope
Капитан Флинт
Asked: 2020-08-31 21:49:21 +0000 UTC

FreeBSD 上 PHP 7.1 的 MongoDB 扩展

  • 0

该命令pkg install pecl-mongodb试图拉入 php56 包的依赖项。望羽,那也为他而立。而我已经安装了 php71 并与 nginx 一起工作。如何为我的 PHP 版本安装 mongodb 扩展?从端口构建并不可怕,但最好将它放在一个包中。如果你走另一条路(pecl install mongodb)那么问题是如何将它正确地放入煎锅pear或pecl?包php71-pear还是没给php71-dev我pkg search php71。怎样成为?

PS FreeBSD-11.1-RELEASE

mongodb
  • 1 个回答
  • 10 Views
Martin Hope
Капитан Флинт
Asked: 2020-08-15 01:22:16 +0000 UTC

Phalcon 中间件

  • 0

Phalcon 是否有类似于 Laravel 的中间件概念?请求通过的路由器和控制器之间的某一层。好吧,举个例子,最简单的就是Auth。中间件,将在其中确定用户是否被授权,如果是 -return next();例如,如果没有 - 然后返回状态 403,例如。好吧,或者 Phalcon 中是否有任何类似的机制?我在文档中找到了这个,但是可以说,这并不是我所需要的。

php
  • 1 个回答
  • 10 Views
Martin Hope
Капитан Флинт
Asked: 2020-07-18 13:18:00 +0000 UTC

在信号 11 xhprof 上退出

  • 0

php5,我安装了扩展XHprof,服务器运行的是 Ubuntu 14.04,但是当我尝试使用它时,我得到了502 Bad Gateway。nginx 日志是空的,在 php-fpm 日志中是这样的:

[17-Jul-2017 19:20:25] WARNING: [pool www] child 8944 exited on signal 11 (SIGSEGV) after 16.428915 seconds from start

在我的脚本中,我写道:

if( extension_loaded( 'xhprof' ) ){
    if( function_exists( 'xhprof_enable' ) ){
        xhprof_enable( XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY );
        echo 'OK!';
    }
}

如果我用 xhprof_enable() 注释掉该行,它就会出来OK!,脚本的其余部分将正常工作。但是扩展xhprofexits 被加载,并且 functionxhprof_enable()事实证明存在(可用)。在phpinfo()也xhprof存在。为什么是502?不是,为什么502是可以理解的,php-fpm崩溃了,但是为什么会崩溃呢?往哪个方向看?

php
  • 1 个回答
  • 10 Views
Martin Hope
Капитан Флинт
Asked: 2020-07-06 23:25:07 +0000 UTC

MongoDB 中的正则表达式 - 排除子字符串

  • 0

寻找不同的用户代理。我使用正则表达式,底线是:我需要它来选择以 (Mozilla|Opera|Firefox) 开头但不包含 YandexMetrika 子字符串的标题。设计结果是这样/(Mozilla|Opera|Firefox)((?!YandexMetrika).)*/的:它有效,但不完全。以搜索词开头的行被选中(其他被过滤掉),但是:包含 YandexMetrika 的行仍然存在。如何让它明白有必要排除包含的行YandexMetrika?

регулярные-выражения
  • 1 个回答
  • 10 Views
Martin Hope
Капитан Флинт
Asked: 2020-07-04 21:51:01 +0000 UTC

Phalcon MongoDB 数据库

  • 3

php7.0. Phalcon 3.2.MongoDB 3.2.14

我想连接到数据库,但 Phalcon 文档描述了通过 MongoClient() 建立连接并仅通过它工作,尽管它在很久以前就已经过时并且在 7.0 中通常被弃用。我怎样才能使 Phalcon 朋友变得现代和舒适\MongoDB\Driver\Manager()?因为services.php最起码我是这样设置的,貌似不骂人,代码是这样的:

/**
* MongoDB connection
*/
$di->set( "mongo", function () {
       $config = $this->getConfig();

        $db_string = sprintf( 'mongodb://%s:%s/%s', $config->mongodb->host, $config->mongodb->port, $config->mongodb->database );

        if( isset( $config->mongodb->user ) AND isset( $config->mongodb->password ) ) {
            $db_string = sprintf( 'mongodb://%s:%s@%s:%s/%s',
                $config->mongodb->user,
                (string)$config->mongodb->password,
                $config->mongodb->host,
                (string)$config->mongodb->port,
                $config->mongodb->database );
       }

        try {
            return new \MongoDB\Driver\Manager( $db_string );
        } catch (MongoConnectionException $e) {
            die( 'Failed to connect to MongoDB '.$e->getMessage() );
        }
    },
    true
);

但他不喜欢模特。我写信给app/models/User.php:

use Phalcon\Mvc\Collection;

class User extends Collection
{
    public function initialize()
    {
        $this->setSource('users');
    }
}

我在控制器中调用:

class IndexController extends ControllerBase
{
    public function indexAction()
    {
        echo User::count();
    }
}

是这样写的:

Call to undefined method ::selectcollection()
#0 [internal function]: Phalcon\Mvc\Collection::_getGroupResultset(Array, Object(User), Object(MongoDB\Driver\Manager))
#1 /var/www/testing/app/controllers/IndexController.php(8): Phalcon\Mvc\Collection::count()
#2 [internal function]: IndexController->indexAction()
#3 [internal function]: Phalcon\Dispatcher->callActionMethod(Object(IndexController), 'indexAction', Array)
#4 [internal function]: Phalcon\Dispatcher->_dispatch()
#5 [internal function]: Phalcon\Dispatcher->dispatch()
#6 /var/www/testing/public/index.php(42): Phalcon\Mvc\Application->handle()
#7 {main}

如何取胜?

php
  • 1 个回答
  • 10 Views
Martin Hope
Капитан Флинт
Asked: 2020-06-28 15:47:13 +0000 UTC

Redis .service 文件

  • 0

按照这些说明在 Ubuntu 16.04 上安装 Redis 。我通过收集它make,配置它,一切正常,但是:当通过该行的输出启动/重新启动时sudo service redis restart,它会“挂起”一定的超时时间,也就是说,据我所知,“从内部”它有效像这样 - 成功启动/重启后,返回某种类型的状态true,控制台提示您输入新命令。我有这个身份,相对来说,回不去了。命令输出sudo service redis status:

root@ubuntu-xenial:~# service redis status
● redis-server.service - Redis In-Memory Data Store
   Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
   Active: activating (start-post) since Ср 2017-06-28 07:17:09 UTC; 14s ago
   Docs: http://redis.io/documentation,
       man:redis-server(1)
   Process: 15864 ExecStopPost=/bin/run-parts --verbose /etc/redis/redis-server.post-down.d (code=exited, status=0/SUCCESS)
   Process: 15882 ExecStartPost=/bin/run-parts --verbose /etc/redis/redis-server.post-up.d (code=exited, status=0/SUCCESS)
   Process: 15878 ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
   Process: 15874 ExecStartPre=/bin/run-parts --verbose /etc/redis/redis-server.pre-up.d (code=exited, status=0/SUCCESS)
     Tasks: 3
    Memory: 10.2M
       CPU: 89ms
    CGroup: /system.slice/redis-server.service
            └─15881 /usr/local/bin/redis-server 127.0.0.1:6379       

июн 28 07:17:09 ubuntu-xenial systemd[1]: Starting Redis In-Memory Data Store...
июн 28 07:17:09 ubuntu-xenial run-parts[15874]: run-parts: executing /etc/redis/redis-server.pre-up.d/00_example
июн 28 07:17:09 ubuntu-xenial redis-server[15878]: 15878:C 28 Jun 07:17:09.164 # systemd supervision requested, but NOTIFY_SOCKET not found
июн 28 07:17:09 ubuntu-xenial run-parts[15882]: run-parts: executing /etc/redis/redis-server.post-up.d/00_example
июн 28 07:17:09 ubuntu-xenial systemd[1]: redis-server.service: PID file /var/run/redis/redis-server.pid not readable (yet?) after start-post: No such file or directory

状态activating即 相对而言,这是我所说的状态,它显然不会返回,但没有它状态就不会设置active。

怎么修?

ubuntu
  • 1 个回答
  • 10 Views
Martin Hope
Капитан Флинт
Asked: 2020-06-28 13:26:37 +0000 UTC

Vagrant Box 日志文件

  • 1

Vagrant 1.9.5(我不知道其他版本)在盒子的同一目录中创建一个日志文件,我称之为ubuntu-xenial-16.04-cloudimg-console.log. 我需要将日志放在其他地方 ( /var/logs/)。问题 - 它在哪里配置(在Vagrantfile?)以及如何配置?从文件名可以看出,这个日志指的是一个特定的框,也就是说应该配置在Vagrantfile. 但是怎么办?

vagrant
  • 1 个回答
  • 10 Views
Martin Hope
Капитан Флинт
Asked: 2020-06-26 16:53:02 +0000 UTC

复杂的 PostgreSQL 查询

  • 2

我有一个posts包含字段的表id, title, body,author_id

有必要从中提取仅author_id对应于一个条目的那些(只有一个职位的新人)。有没有办法通过一个请求来做到这一点?或者,如果它更容易 - 只获得此类作者的数量。

PostgreSQL 9.5

sql
  • 1 个回答
  • 10 Views
Martin Hope
Капитан Флинт
Asked: 2020-05-24 16:29:57 +0000 UTC

apache2 + php5 权限被拒绝

  • 1

当我尝试调用 mkdir() 时,我又一次遇到了权限被拒绝的问题。谷歌搜索了很多,试图在这里问一个问题,但没有得到答案。

现在是这个情况。有一个条件路径/var/www/project。该脚本需要创建路径/var/www/project/files/6。我将/var/www/project文件夹的权限设置为777。我将www-data:www-data设为所有者。它仍然拒绝创建这样的文件夹。帮忙一劳永逸的解决这个问题,抛给一个好人。看来我对linux并不陌生,写php也很久了,但每次遇到误会就开始了。Apache2 在用户www-data下启动。

файлы
  • 2 个回答
  • 10 Views
Martin Hope
Капитан Флинт
Asked: 2020-04-19 20:58:49 +0000 UTC

Laravel 会话被拒绝许可

  • 0

有 LAMP,还有 Laravel 5.4。Apache2 在 www-data 用户下运行。但出于某种原因,Laravel 在 ubuntu 用户下创建了会话文件,并且它自己试图覆盖它们,给了我 permission_denied。wangyu,这里的重点是他用644权限创建它们。我的ubuntu用户是www-data组的成员,如果Laravel创建至少664权限的会话就不可怕了。但是如何做到这一点?首先。其次,为什么它与所有者 ubuntu 一起创建这些文件?

ubuntu
  • 1 个回答
  • 10 Views
Martin Hope
Капитан Флинт
Asked: 2020-04-16 04:35:10 +0000 UTC

为 3 级域设置 DNS

  • 0

我决定在我的家庭服务器上托管网站。我连接了提供商的“静态 IP 地址”服务,我的域被委托给 Yandex,在 Yandex 的 DNS 设置中我写道:Host = @, type = A, record value = 46.x.xxx.196(我的知识产权)。在路由器上,分别将第80个端口转发给服务器。在更新 DNS 时,我在 apache2 中创建了一个三级域 blog.%my_domain%.com 并在那里上传了新的 WordPress。大约用了 6 个小时,主域可用,三级域消失了。我打电话给一个朋友,他说,他们说,你再做一个 A-record,只在“主机”字段中放一个星号而不是狗。我添加了另一个条目,结果是这样的: 在此处输入图像描述 目前,一天多过去了,主要的二级域名可以从任何地方正常访问,手机(Yota 4G)的三级域名完美加载,以及我的电脑(连接到与服务器相同的路由器) ) 加载很慢,结果在90%的情况下都属于“找不到页面”。我不知道我的错误在哪里以及我搞砸了什么,但总的来说我需要所有 *.%my_domain%.com 请求转到我的 IP,然后我已经用 apache 规定了在何处以及如何处理什么。

有一种想法是我错过了 DNS 以外的东西,tk。该站点开始从计算机加载,加载标题,加载背景图像,然后一切都崩溃了,也就是说,也许这不是 DNS 的问题,但那又怎样呢?

PS 在测试过程中,通过向朋友发送链接,结果发现该站点每隔一段时间打开一次,有人先写“无法访问......等等等等”,并在更新打开的页面后立即有人立即打开,有人根本不打开。还是 DNS 的?...

яндекс
  • 1 个回答
  • 10 Views
Martin Hope
Капитан Флинт
Asked: 2020-04-13 05:52:15 +0000 UTC

简单的 HTML DOM 解析器同时查找具有两个类的元素

  • 3

我解析了 Lenta.ru 档案。您只需要选择当天的新闻,没有类别,也就是说,您需要同时具有项目和新闻类的所有div,在所有这些div中,您需要选择 a 元素,相对而言,显示/得到href。

有效但无法正常工作的版本如下所示:

$news = $html->find( 'div[class=news] a' );
foreach( $news as $element ):
    echo $element->href . "\n";
endforeach;

错误,因为选择仅适用于带有news类的div,但您需要选择带有item和news类的div。

试过这样的:

$news = $html->find( 'div[class=item news] a' );

...所以:

$news = $html->find( 'div.item.news a' );

...所以:

$news = $html->find( 'div[class="item news"] a' );

不起作用。我分别在这里和这里找到了这些选项。使用 Simple HTML DOM Parser 是基础吗?不,这不是必需的。但是我已经熟悉它并且有使用它的经验,所以选择就落在了它身上。

还有一个想法:先找所有class = item的div,再找其中所有class = news的div ,然后在每个div中找a,没成功。据我了解,方法链是一个la

$news = $html->find( 'div[class=item]' )->find( 'div[class=news] a' );

不会工作(对我不起作用)。怎样成为?

PS我会补充。现在我在这里再次查看,是的,解决方案正在运行,一切正常。如果您完全注册所有课程:

$news = $html->find( 'div[class=item news b-tabloid__topic_news] a' );

但事实是,最后一个类b-tabloid__topic_news并不存在于任何地方,也就是说,它的存在不是必需的。是的,可以用数组编写算法代码,我们首先寻找这样的,然后是其他的,粘合,排序等,但恕我直言,这是错误的。一般来说,问题可以重新表述如下:如何在类中找到所有具有正确元素的元素?

php
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5