小编Rya*_*yan的帖子

如何使用非常永久链接(SEO友好的URL)在Nginx上与Laravel一起安装WordPress?

我有一个在Nginx上运行的Laravel站点,它很好.

它有一个普通的文件夹结构,如:

/app
/public
/vendor
...
Run Code Online (Sandbox Code Playgroud)

/public文件夹是Laravel index.php所在的位置.

我已经安装了WordPress,/public/blog因为我希望我的博客可见mywebsite.org/blog.

如果我将定义的永久链接设置/blog/wp-admin/options-permalink.php设置为"默认"(这意味着帖子的URL看起来像/blog/?p=123),则博客目前正常工作. 如果我更改永久链接设置/blog/%postname%/,我无法查看帖子(我得到一个Laravel 404页面).

我绝对希望我的博客文章有SEO友好的URL(非常永久链接).

我目前的Nginx配置是:

server {
    #This config is based on https://github.com/daylerees/laravel-website-configs/blob/6db24701073dbe34d2d58fea3a3c6b3c0cd5685b/nginx.conf and seemed to be necessary to get Laravel working.
    server_name mysite.local;

     # The location of our project's public directory.
    root F:/code/mysite/public/;

     # Point index to the Laravel front controller.
    index           index.php;

    location / {
        # URLs to attempt, including pretty ones.
        try_files   $uri $uri/ /index.php?$query_string;
    } …
Run Code Online (Sandbox Code Playgroud)

wordpress nginx laravel

9
推荐指数
1
解决办法
3782
查看次数

我怎样才能先发制人地推迟svn合并冲突?

我在进行Subversion合并时经常遇到冲突,例如:

svn merge -r10347:HEAD ^/branches/header-and-navbar 
Run Code Online (Sandbox Code Playgroud)

我知道--dry-run,我这样做是为了预览.

但是在真正运行它之后,如果我想为每个冲突选择"推迟",那么对于很多文件来说可能需要很长时间.

如何提前告诉Subversion不要问我每个文件?

svn merge

8
推荐指数
1
解决办法
4496
查看次数

SVN合并重新集成缺少的范围,但没有合并

这是谜语:

C:\code\trunk> svn merge --reintegrate http://svn.e.com/repos/branches/lih --accept postpone --dry-run
svn: E195016: Reintegrate can only be used if revisions 11430 through 12384 were previously merged from http://svn.e.com/repos/trunk to the reintegrate source, but this is not the case:
  branches/lih
    Missing ranges: /trunk:11902
Run Code Online (Sandbox Code Playgroud)

但是,如果我进入分支的目录并尝试合并该范围,则无需合并!

C:\code\branches\branch> svn merge -r 11901:11902 http://svn.e.com/repos/trunk --accept postpone --dry-run
C:\code\branches\branch>
Run Code Online (Sandbox Code Playgroud)

甚至svn merge -r 11898:11903没有显示任何合并.

现在我似乎无法将我的分支重新融入后备箱!请帮忙!

PS lih分支直到11906才创建.它从高速分支分支,从分支分支(高清已经合并回主干).

svn merge svn-reintegrate branching-and-merging

8
推荐指数
2
解决办法
7279
查看次数

如何检索我所有活跃的Facebook广告?

我正在为自己创建一个仪表板,帮助我跟踪我正在运行的Facebook广告.

我无法弄清楚的是:

如何为所有处于活动状态的广告检索一系列广告ID,或者在我没有采取进一步措施后可以很快恢复活动的广告?

换句话说,我希望我设置为"有效"并且存在于有效的广告和广告系列中的所有广告(因此这些广告现在正在播放)... 加上认为的所有广告都是有效的,但是Facebook已经设置了另一个状态,例如Pending Review(并将很快回归Active).

我在下面有一些代码,但问题是它偶然包含待定广告 - 一旦经过Facebook审核和批准 - 将处于非活动状态而非活动状态(因为我已经设置了这种方式).我不希望这类广告包含在我的报告中.

我的报告应该只向我展示一些我积极花钱或有可能在FB批准后立即花钱的报告.

我想我明白之间的差别configured_status,并effective_statusAbstractArchivableCrudObjectFields,但我不知道这是足以帮助我,因为我有很多设置为活动是内Adsets是无效的广告的,我不希望看到这些上市我的报告.

有什么建议?

public function getActiveAdIds() {
    $key = 'activeAdIds';
    $adIdsJson = Cache::get($key);
    if ($adIdsJson) {
        $adIds = json_decode($adIdsJson);
    } else {
        $adsResponse = $this->getAdsByStatus([ArchivableCrudObjectEffectiveStatuses::ACTIVE, ArchivableCrudObjectEffectiveStatuses::PENDING_REVIEW]);
        $ads = $adsResponse->data;
        $adIds = [];
        foreach ($ads as $ad) {
            $adIds[] = $ad->id;
        }
        $adIdsJson = json_encode($adIds);
        Cache::put($key, $adIdsJson, 1);
    }
    return $adIds;
}

public function getAdsByStatus($statuses) {
    $params = …
Run Code Online (Sandbox Code Playgroud)

php facebook-ads-api facebook-php-sdk facebook-insights facebook-marketing-api

7
推荐指数
1
解决办法
894
查看次数

Laravel env()或config()在命令行上获取环境变量

我知道php artisan env在命令行上运行会向我显示"当前应用程序环境"(例如"生产").

但我想要的是能够从命令行看到类似env('SESSION_DRIVER')config('session.driver')直接的值.

那可能吗?

(我在文档中找不到提示.)

php environment-variables laravel laravel-5

7
推荐指数
1
解决办法
1万
查看次数

通过 SSH 连接时 MySQL Workbench 崩溃

我有最新版本的 MySQL Workbench。我在虚拟 Ubuntu 机器中有 MySQL,并尝试通过 SSH 连接。

MySQL Workbench 不断崩溃,但没有显示任何警告或错误。

mysql ssh virtualbox mysql-workbench vagrant

7
推荐指数
2
解决办法
4050
查看次数

Prisma Postres 错误准备语句“s0”已存在

我有一个 Next.js 项目,我使用 Prisma 从 Postgresql 读取数据。

我有这样的代码:

const rows = await prisma.receipts.findMany({
      where: {
        action_receipts: {
          // https://www.prisma.io/docs/concepts/components/prisma-client/filtering-and-sorting#filter-on-relations
          signer_account_id: {
            equals: accountName,
          },
        },
      },
      orderBy: {
        included_in_block_timestamp: 'desc',
      },
      take: 2, 
    });
Run Code Online (Sandbox Code Playgroud)

我经常收到如下错误:

 error: PrismaClientUnknownRequestError: 
  Invalid `prisma.receipts.findMany()` invocation:
  
  
    Error occurred during query execution:
  ConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Error { kind: Db, cause: Some(DbError { severity: "ERROR", parsed_severity: Some(Error), code: SqlState("42P05"), message: "prepared statement \"s0\" already exists", detail: None, hint: None, position: None, where_: None, schema: None, table: …
Run Code Online (Sandbox Code Playgroud)

postgresql orm server-side-rendering next.js prisma

7
推荐指数
1
解决办法
5892
查看次数

如何将 Deployer 与 Docker (Laradock) 一起使用

我使用 Docker 创建了一个新的 Digital Ocean 服务器(使用Laradock),并使我的 Laravel 网站运行良好。

\n\n

现在我想使用Deployer自动化部署。

\n\n

我认为我唯一的问题是我无法让 Deployer 运行docker exec -it $(docker-compose ps -q php-fpm) bash;,这是我成功手动使用进入适当 Docker 容器的命令(在使用 SSH 从我的本地计算机连接到 Digital Ocean 服务器之后)。

\n\n

当 Deployer 尝试运行它时,我收到以下错误消息:

\n\n
\xe2\x9e\xa4 Executing task execphpfpm\n[1.5.6.6] > cd /root/laradock && (pwd;)\n[1.5.6.6] < /root/laradock\n[1.5.6.6] > cd /root/laradock && (docker exec -it $(docker-compose ps -q php-fpm) bash;)\n[1.5.6.6] < the input device is not a TTY\n\xe2\x9e\xa4 Executing task deploy:failed\n\xe2\x80\xa2 done on [1.5.6.6]\n\xe2\x9c\x94 Ok [3ms]\n\xe2\x9e\xa4 Executing task …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose php-deployer laradock docker-exec

6
推荐指数
1
解决办法
5709
查看次数

如何从 Homestead Vagrant VirtualBox 恢复我的 MySQL 数据库?

我正在运行 Homestead v8.2.0laravel/homestead (virtualbox, 7.1.0)和 Vagrant 2.2.4。我需要升级,因为我想要 PHP 7.4 支持。

Laravel 文档说首先销毁 vagrant 盒子是必要的,但我知道我不想销毁我原来的盒子,因为我那里还有有价值的数据。所以我想我只会尝试“更新”它,以防万一。

(我非常小心地使用,destroy因为我不想丢失任何 MySQL 数据库。)

当我跑步时,vagrant global-status我看到:

id       name          provider   state   directory
------------------------------------------------------------------------------
5620b14  vboxHomestead virtualbox running C:/code/Homestead
Run Code Online (Sandbox Code Playgroud)

所以我用 git 来结帐v10.2.0Homestead。

我跑了vagrant box update。鉴于 Laravel 文档,我对这种方法不起作用并不感到惊讶。

然后我想:我不会更新我当前的盒子,而是在它旁边创建一个新盒子(仍然不会破坏旧盒子)。

所以我复制C:/code/Homestead到一个新目录C:/code/HomesteadB

我升级到 Vagrant 2.2.7。我跑了vagrant box add laravel/homestead,看到了新的laravel/homestead (virtualbox, 9.2.0)(注意更高的版本号)。我跑了vagrant up,我继续享受运行 PHP 7.4 的新机器。一切似乎都在按计划进行。

后来,当我有灵感回到我的旧盒子并恢复那里的所有旧数据时,我注意到 MySQL 数据库丢失了! …

virtualbox vagrant laravel homestead

6
推荐指数
1
解决办法
897
查看次数

如何打乱项目数组但允许权重影响顺序

我正在尝试编写一个 TypeScript 函数来打乱数组。

默认情况下,我希望洗牌顺序是随机的(但受种子影响)。(我已经可以使用这个功能了function random(seed: number): number:)

但是,我还想允许通过每个项目的重量来影响订单。

换句话说,我希望默认项目权重为 1,如果一个项目的权重为 10,那么它在打乱顺序中较早出现的可能性应该增加 10 倍。

我是否正确地思考过这个问题?这是一个合理的目标吗?

我认为我需要使用 Fisher-Yates 算法,但适应于与主数组长度相同的权重数组,并且主数组将被洗牌,以便较高权重的项目更有可能首先出现。

function removeDuplicates<T>(array: T[]): T[] {
  const uniqueValues = new Set<T>();
  return array.filter((item) => {
    if (!uniqueValues.has(item)) {
      uniqueValues.add(item);
      return true;
    }

    return false;
  });
}

function duplicateItemsBasedOnWeights<T>(array: T[], weights: number[]): T[] {
  const result = [];
  for (const [index, element] of array.entries()) {
    for (let position = 0; position < weights[index]; position++) {
      result.push(element);
    }
  }

  return result;
}

export function …
Run Code Online (Sandbox Code Playgroud)

arrays random shuffle typescript fisher-yates-shuffle

6
推荐指数
1
解决办法
328
查看次数