我无法运行命令作曲家安装程序。我得到的只是一个即时错误,出现分段错误,php问题?
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的输出:
我已经成功地使其在运行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
标志。似乎正在工作。
答案 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的原因)。