Composer安装,分段故障

时间:2019-07-11 07:50:17

标签: php macos symfony composer-php

我无法运行命令作曲家安装程序。我得到的只是一个即时错误,出现分段错误,php问题?

  • 全新MacBook Prop
  • 操作系统-Mojave 10.14.5
  • PHP-7.3.7
  • Symfony-4.6.0
  • PHP是使用brew安装的,它是当前的稳定版本。
  • Symfony是从他们的网站安装的,通过curl使用那里的安装程序。
  • 我已在本地为该项目下载了作曲家。

componser安装的输出:

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file

Prefetching 96 packages ? ?
  - Downloading (0%)[1]    4278 segmentation fault  composer install

composer -vvv install的输出:

Pastebin Link

我已经成功地使其在运行PHP 7.3.7的Manjaro和Ubunutu上运行。

最可靠的信息来源是from this issue on github,表明这是PHP问题,可能是版本/内部版本问题。我的项目依赖于PHP 7.2 ^。

更新-已通过brew install php@7.2选中。同样的问题。

更新2 -Found this thread,尝试过解决方案,没有运气

更新3 -我使用composer install标志运行--no-plugins,现在正在下载依赖项。在此之前,我还运行过clear-cache,我不确定他们是携手工作还是仅仅是--no-plugins。这指向默认情况下安装的我的一个PHP插件,导致内存冲突问题。哪一个?谁知道。

更新4 -下载完成后仍然无法正常工作,我不得不再次运行composer install而没有--no-plugin标志。似乎正在工作。

3 个答案:

答案 0 :(得分:0)

我想我已经找到了解决方案。希望这可以帮助某人:

我用composer install标志跑了--no-plugins

下载完成后,我不得不再次运行composer install,而没有--no-plugin标志。

答案 1 :(得分:0)

就我而言,当我增加内存限制时,该问题已解决。 php.ini的限制设置为256MB,但是我发现brew安装的某些ini已覆盖该限制,并将其强制为128MB。

我将在下面列出解决该问题所遵循的路径。

步骤1 -找出实际的内存限制:

php -i | grep memory_limit

步骤2 -查找已使用的php.ini文件路径:

php -i | grep "Loaded Configuration File"

步骤1中的memory_limit与我在步骤2中找到的文件中的memory_limit不匹配。

我进一步看了看,发现PHP加载了以下配置文件,原来是将memory_limit覆盖为128MB:

/usr/local/etc/php/7.2/conf.d/php-memory-limits.ini

第3步-我将其禁用:

mv /usr/local/etc/php/7.2/conf.d/php-memory-limits.ini /usr/local/etc/php/7.2/conf.d/php-memory-limits.ini.bak

然后最后确认步骤1返回我设置的正确memory_limit,即256MB。

希望它对遇到相同问题的人有所帮助。

注意:,您的安装路径可能会有所不同,我在此处输入了与我的情况相符的示例,但您应该明白这一点。

答案 2 :(得分:0)

在php.ini中禁用xdebug扩展并启用文件opcache(将tickers = c.fetchall() for row in tickers: c.execute("select [Adj Close] from StockData where Symbol = ? ", (row)) AdjClose = c.fetchall() df_ta = pd.DataFrame(data = AdjClose, dtype=numpy.float64) df_ta = df_ta.apply(lambda c: talib.RSI(c, timeperiod = 14)) for index, item in df_ta.iterrows(): try: c.execute('''UPDATE StockData SET RSI = ? where Symbol = ? ''', (item.values, row)) except Exception as e: print('Update Error: ' + str(e)) print('Updated' + str(row)) conn.commit() print ("Number of rows updated: {}".format(c.rowcount))``` Update Error: Error binding parameter 1 - probably unsupported type. seq_along设置为本地目录)后,出现了此问题。看来,禁用xdebug时必须删除这些opcache文件,否则任何执行缓存的php文件都会导致分段错误(这是PHP 7.4.10的原因)。